|
|
"external_number": 1
},
{
"peer_lid": 18,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_32",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "32",
"guid": "248a0703002e6293",
"peer_node_guid": "248a070300f88fe0",
"lid": 10,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "248a0703002e6292",
"tier": 1,
"path": "default / Computer: r-dmz-ufm139 / NA / HCA-1/2",
"name": "248a0703002e6293_2",
"active_width": "4x",
"dname": "HCA-1/2",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 18,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_31",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "31",
"guid": "248a0703002e6292",
"peer_node_guid": "248a070300f88fe0",
"lid": 9,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "248a0703002e6292",
"tier": 1,
"path": "default / Computer: r-dmz-ufm139 / NA / HCA-1/1",
"name": "248a0703002e6292_1",
"active_width": "4x",
"dname": "HCA-1/1",
"peer_node_name": "switch-ec4034",
75
"mtu": 4096,
"external_number": 1
},
•
Code Status
•
200 - OK
9.5 Get All External Ports
•
Description - lists all external ports of a specific system, or for all systems
•
Request URL - GET /ufmRest/resources/ports?external=<'true'/'True'/'TRUE'/'t'/'T'>
•
Request Content Type - Application/json
• Response
[
{
"peer_lid": 11,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "0002c903007b78b0_9",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "9",
"guid": "0002c9030021f972",
"peer_node_guid": "0002c903007b78b0",
"lid": 6,
"severity": "Info",
"logical_state": "Active",
"capabilities": [],
"active_speed": "14.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"systemID": "0002c9030021f970",
"tier": 1,
"path": "default / Computer: r-dmz-ufm134 / NA / HCA-1/2",
"name": "0002c9030021f972_2",
"active_width": "4x",
"dname": "HCA-1/2",
"peer_node_name": "r-dmz-ufm-sw49",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 11,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "0002c903007b78b0_8",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "8",
"guid": "0002c9030021f971",
"peer_node_guid": "0002c903007b78b0",
"lid": 1,
"severity": "Info",
"logical_state": "Active",
"capabilities": [],
"active_speed": "14.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
76
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"systemID": "0002c9030021f970",
"tier": 1,
"path": "default / Computer: r-dmz-ufm134 / NA / HCA-1/1",
"name": "0002c9030021f971_1",
"active_width": "4x",
"dname": "HCA-1/1",
"peer_node_name": "r-dmz-ufm-sw49",
"mtu": 4096,
"external_number": 1
},
{
"peer_lid": 18,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_32",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "32",
"guid": "248a0703002e6293",
"peer_node_guid": "248a070300f88fe0",
"lid": 10,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
"systemID": "248a0703002e6292",
"tier": 1,
"path": "default / Computer: r-dmz-ufm139 / NA / HCA-1/2",
"name": "248a0703002e6293_2",
"active_width": "4x",
"dname": "HCA-1/2",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 18,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_31",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "31",
"guid": "248a0703002e6292",
"peer_node_guid": "248a070300f88fe0",
"lid": 9,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
77
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
"systemID": "248a0703002e6292",
"tier": 1,
"path": "default / Computer: r-dmz-ufm139 / NA / HCA-1/1",
"name": "248a0703002e6292_1",
"active_width": "4x",
"dname": "HCA-1/1",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 1
},
•
Code Status
•
200 - OK
9.6 Get List of All High BER Ports
•
Description - lists all high BER ports
•
Request URL - GET /ufmRest/resources/ports?high_ber_only=true
•
Request Content Type - Application/json
• Response
[
{
"description": "Switch IB Port",
"number": 1,
"external_number": 1,
"physical_state": "Link Up",
"path": "default(1) / Switch: mantaray177 / MCS8500 L10 10 / 1 / 1",
"tier": 3,
"high_ber_severity": "Critical",
"lid": 42365,
"mirror": "disable",
"logical_state": "Active",
"capabilities": [
"healthy_operations",
"reset",
"disable",
"get_cables_info"
],
"mtu": 2048,
"peer_port_dname": "L10/U2/19",
"severity": "Info",
"active_speed": "HDR",
"enabled_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR"
],
"supported_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR",
"NDR"
],
"active_width": "4x",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"2x",
"4x",
"8x",
"12x"
],
"dname": "L10/U1/1",
"peer_node_name": "mantaray177",
"peer": "98039b0300a2b814_19",
"peer_node_guid": "b8599f0300065d16",
"systemID": "b8599f0300065d16",
"node_description": "mantaray177:L10/U1/1",
"name": "98039b0300a2b804_1",
"module": "N/A",
"peer_lid": 42368,
"peer_guid": "98039b0300a2b814",
"peer_node_description": "mantaray177:L10/U2/19",
"guid": "98039b0300a2b804",
78
"system_name": "mantaray177",
"system_ip": "0.0.0.0",
"peer_ip": "0.0.0.0",
"system_capabilities": [
"burn_cables_transceivers"
],
"system_mirroring_template": false
},
{
"description": "Switch IB Port",
"number": 3,
"external_number": 3,
"physical_state": "Link Up",
"path": "default(1) / Switch: mantaray177 / MCS8500 L10 10 / 1 / 3",
"tier": 3,
"high_ber_severity": "Critical",
"lid": 42365,
"mirror": "disable",
"logical_state": "Active",
"capabilities": [
"healthy_operations",
"reset",
"disable",
"get_cables_info"
],
"mtu": 2048,
"peer_port_dname": "L10/U2/17",
"severity": "Info",
"active_speed": "HDR",
"enabled_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR"
],
"supported_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR",
"NDR"
],
"active_width": "4x",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"2x",
"4x",
"8x",
"12x"
],
"dname": "L10/U1/3",
"peer_node_name": "mantaray177",
"peer": "98039b0300a2b814_17",
"peer_node_guid": "b8599f0300065d16",
"systemID": "b8599f0300065d16",
"node_description": "mantaray177:L10/U1/3",
"name": "98039b0300a2b804_3",
"module": "N/A",
"peer_lid": 42368,
"peer_guid": "98039b0300a2b814",
"peer_node_description": "mantaray177:L10/U2/17",
"guid": "98039b0300a2b804",
"system_name": "mantaray177",
"system_ip": "0.0.0.0",
"peer_ip": "0.0.0.0",
"system_capabilities": [
"burn_cables_transceivers"
],
"system_mirroring_template": false
},
{
"description": "Switch IB Port",
"number": 4,
"external_number": 4,
"physical_state": "Link Up",
"path": "default(1) / Switch: mantaray177 / MCS8500 L10 10 / 1 / 4",
"tier": 3,
"high_ber_severity": "Critical",
"lid": 42365,
"mirror": "disable",
"logical_state": "Active",
"capabilities": [
"healthy_operations",
"reset",
"disable",
"get_cables_info"
],
"mtu": 2048,
"peer_port_dname": "L10/U2/18",
"severity": "Info",
"active_speed": "HDR",
"enabled_speed": [
"SDR",
"DDR",
"QDR",
79
"FDR",
"EDR",
"HDR"
],
"supported_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR",
"NDR"
],
"active_width": "4x",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"2x",
"4x",
"8x",
"12x"
],
"dname": "L10/U1/4",
"peer_node_name": "mantaray177",
"peer": "98039b0300a2b814_18",
"peer_node_guid": "b8599f0300065d16",
"systemID": "b8599f0300065d16",
"node_description": "mantaray177:L10/U1/4",
"name": "98039b0300a2b804_4",
"module": "N/A",
"peer_lid": 42368,
"peer_guid": "98039b0300a2b814",
"peer_node_description": "mantaray177:L10/U2/18",
"guid": "98039b0300a2b804",
"system_name": "mantaray177",
"system_ip": "0.0.0.0",
"peer_ip": "0.0.0.0",
"system_capabilities": [
"burn_cables_transceivers"
],
"system_mirroring_template": false
}
]
9.7 Get List of High BER Ports with Specific Severity
•
Description - lists high BER ports based on severity (warning or error)
•
Request URL - GET /ufmRest/resources/ports?
high_ber_only=true&high_ber_severity=error
•
Request Content Type - Application/json
• Response
[
{
"description": "Switch IB Port",
"number": 1,
"external_number": 1,
"physical_state": "Link Up",
"path": "default(1) / Switch: mantaray177 / MCS8500 L10 10 / 1 / 1",
"tier": 3,
"high_ber_severity": "Critical",
"lid": 42365,
"mirror": "disable",
"logical_state": "Active",
"capabilities": [
"healthy_operations",
"reset",
"disable",
"get_cables_info"
],
"mtu": 2048,
"peer_port_dname": "L10/U2/19",
"severity": "Info",
"active_speed": "HDR",
"enabled_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR"
],
"supported_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
80
"HDR",
"NDR"
],
"active_width": "4x",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"2x",
"4x",
"8x",
"12x"
],
"dname": "L10/U1/1",
"peer_node_name": "mantaray177",
"peer": "98039b0300a2b814_19",
"peer_node_guid": "b8599f0300065d16",
"systemID": "b8599f0300065d16",
"node_description": "mantaray177:L10/U1/1",
"name": "98039b0300a2b804_1",
"module": "N/A",
"peer_lid": 42368,
"peer_guid": "98039b0300a2b814",
"peer_node_description": "mantaray177:L10/U2/19",
"guid": "98039b0300a2b804",
"system_name": "mantaray177",
"system_ip": "0.0.0.0",
"peer_ip": "0.0.0.0",
"system_capabilities": [
"burn_cables_transceivers"
],
"system_mirroring_template": false
},
{
"description": "Switch IB Port",
"number": 3,
"external_number": 3,
"physical_state": "Link Up",
"path": "default(1) / Switch: mantaray177 / MCS8500 L10 10 / 1 / 3",
"tier": 3,
"high_ber_severity": "Critical",
"lid": 42365,
"mirror": "disable",
"logical_state": "Active",
"capabilities": [
"healthy_operations",
"reset",
"disable",
"get_cables_info"
],
"mtu": 2048,
"peer_port_dname": "L10/U2/17",
"severity": "Info",
"active_speed": "HDR",
"enabled_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR"
],
"supported_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR",
"NDR"
],
"active_width": "4x",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"2x",
"4x",
"8x",
"12x"
],
"dname": "L10/U1/3",
"peer_node_name": "mantaray177",
"peer": "98039b0300a2b814_17",
"peer_node_guid": "b8599f0300065d16",
"systemID": "b8599f0300065d16",
"node_description": "mantaray177:L10/U1/3",
"name": "98039b0300a2b804_3",
"module": "N/A",
"peer_lid": 42368,
"peer_guid": "98039b0300a2b814",
"peer_node_description": "mantaray177:L10/U2/17",
"guid": "98039b0300a2b804",
"system_name": "mantaray177",
"system_ip": "0.0.0.0",
"peer_ip": "0.0.0.0",
"system_capabilities": [
"burn_cables_transceivers"
],
81
"system_mirroring_template": false
},
{
"description": "Switch IB Port",
"number": 4,
"external_number": 4,
"physical_state": "Link Up",
"path": "default(1) / Switch: mantaray177 / MCS8500 L10 10 / 1 / 4",
"tier": 3,
"high_ber_severity": "Critical",
"lid": 42365,
"mirror": "disable",
"logical_state": "Active",
"capabilities": [
"healthy_operations",
"reset",
"disable",
"get_cables_info"
],
"mtu": 2048,
"peer_port_dname": "L10/U2/18",
"severity": "Info",
"active_speed": "HDR",
"enabled_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR"
],
"supported_speed": [
"SDR",
"DDR",
"QDR",
"FDR",
"EDR",
"HDR",
"NDR"
],
"active_width": "4x",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"2x",
"4x",
"8x",
"12x"
],
"dname": "L10/U1/4",
"peer_node_name": "mantaray177",
"peer": "98039b0300a2b814_18",
"peer_node_guid": "b8599f0300065d16",
"systemID": "b8599f0300065d16",
"node_description": "mantaray177:L10/U1/4",
"name": "98039b0300a2b804_4",
"module": "N/A",
"peer_lid": 42368,
"peer_guid": "98039b0300a2b814",
"peer_node_description": "mantaray177:L10/U2/18",
"guid": "98039b0300a2b804",
"system_name": "mantaray177",
"system_ip": "0.0.0.0",
"peer_ip": "0.0.0.0",
"system_capabilities": [
"burn_cables_transceivers"
],
"system_mirroring_template": false
}
]
9.8 Get Ports with Cable Information
•
Description - Gets ports with cable Information.
•
Request URL - GET / ufmRest/resources/ports?cable_info=true
•
Parameters - cable_info (optional) : Set this flag to true to include cable information in
the response.
• Response
[
{
"description": "Computer IB Port",
"number": 1,
"cable_info": {
"technology": "Copper cable- unequalized",
"fw_version": "N/A",
82
"serial_number": "MT1506VS04170",
"identifier": "QSFP+"
}
}
]
• Status Codes:
• 200-OK
83
10 PKey GUIDs Rest API
Note that the previous PKey GUIDs APIs based on /ufmRest/actions/ are deprecated and
being replaced by the new set of APIs below (based on /ufmRest/resources/).
•
Description - allows users to manage PKey GUIDs by getting, adding, and removing GUIDs from
PKeys.
•
Request URL - /ufmRest/resources/
•
Main Operations
•
Add GUIDs to PKey
•
Remove GUIDs from PKey
•
Get a Specific PKey
•
Get all PKeys
•
Set GUIDs for PKey
•
Delete PKey
•
Update QoS for PKey
10.1 Create an Empty PKey
•
Description: Allows creating a PKey without GUIDs.
•
Request URL: POST /ufmRest/resources/pkeys/add
•
Request Content Type: Application/json
•
Request Data Example:
{
"pkey":"0x12",
"index0":false,
"ip_over_ib":true,
"mtu_limit":2,
"service_level":0,
"rate_limit":2.5
}
The required parameters are PKey only, all the others are optional and take the default in case they
were not sent.
10.2 Add GUIDs to PKey
•
Description - adds a list of configured GUIDs to PKey.
•
Request URL - POST /ufmRest/resources/pkeys/
•
Request Content Type - Application/json
• Request Data Parameters
84
Name
Value
Defau
Description
Mandatory/
lt
Optional
guids
["…",… ".."]
None
List of port GUIDs
Mandatory
Each GUID is a
hexadecimal string with
a minimum length of 16
characters and
maximum length of 20
characters
pkey
Hexadecimal string
None
Network PKey
Mandatory
between "0x0"-"0x7fff"
exclusive
index0
Boolean: true/false
False
If true, the API will store
Optional
the PKey at index 0 of
the PKey table of the
GUID.
ip_over_ib
Boolean: true/false
True
PKey is a member in a
Optional
multicast group that uses
IP over InfiniBand
membershi
“full”, “limited”
"full"
•
“full”-
Optional
p
members with
full
membership
can
communicate
with all hosts
(members)
within the
network/
partition
• “limited” -
members with
limited
membership
cannot
communicate
with other
members with
limited
membership.
However,
communicatio
n is allowed
between
every other
combination
of
membership
types.
85
Name
Value
Defau
Description
Mandatory/
lt
Optional
membershi
[“full”, “limited”, ...]
[]
List of memberships to
This parameter is
ps
List of “full” or
allow users to create or
optional. This parameter
“limited” comma-
modify different
conflicts with the
separated strings. It
membership per GUID in
“membership”
must be the same length
same PKey. GUID index 0
parameter. Users must
as the GUIDs list. Each
in the “guids” list will
select either a list of
value by an index
take index 0 from the
memberships or just one
represents a GUID
memberships list and so
membership for all
membership.
on (by order)
GUIDs.
mtu_limit value can be 2k or 4k
2
MTU limit
Optional
service_lev
value can be range from
0
Service level
Optional
el
0-15
rate_limit value can be one of the
2.5
Rate Limit
Optional
following: 2.5, 10, 30, 5,
20, 40, 60, 80, 120, 14,
56, 112, 168, 25, 100,
200, or 300
•
Response - N/A
•
Status Codes
•
200 - OK
•
400 - bad request
•
Request Data Example
{
"guids": ["0002c903000e0b72", "0002c903000e0b73"],
"ip_over_ib": false,
"index0": true,
"membership": "full",
"mtu_limit":2,
"service_level":0,
"rate_limit":2.5, "pkey": "0x0a12"
}
•
Response - N/A
•
Status Codes
•
200 - OK
•
400 - bad request
10.3 Remove GUIDs from PKey
•
Description - remove a list of configured GUIDs from PKey
•
Request URL - DELETE /ufmRest/resources/pkeys/<pkey>/guids/<guid1>,<guid2>,…
•
Request Content Type - Application/json
• Request Data Parameters
86
Name
Value
Default
Description
Mandatory/
Optional
guids
["…",… ".."]
None
List of port GUIDs
Mandatory
Each GUID is a hexadecimal string
with a minimum length of 16
characters and maximum length
of 20 characters
pkey
Hexadecimal string between
None
Network PKey
Mandatory
"0x0"-"0x7fff" exclusive
•
Status Codes
•
200 - OK
•
400 Bad request
10.4 Get Specific PKey
•
Description - returns information about the specified PKey. The "guids_data" parameter
enables retrieving information on the GUIDs of the specified PKey as well.
•
Request URL - GET /ufmRest/resources/pkeys/<pkey>?guids_data=<boolean>
•
<pkey> - hexadecimal pkey in the range of 0x0-0x7fff
•
Request Content Type - Application/json
•
Response Data Example - without GUID data
{
"partition": "api_pkey_0x1",
"ip_over_ib": true
}
•
Response Data Example - with GUID data
{
"guids": [
{
"membership": "full",
"guid": "0002c903000e0b78",
"index0": false
}
],
"ip_over_ib": true,
"partition": "api_pkey_0x1"
}
•
Status Codes
•
200 - OK
10.5 Get All PKeys
•
Description - returns a list of all PKeys (with or without their associated GUIDs data).
•
Request URL - GET /ufmRest/resources/pkeys?guids_data=<boolean>&qos_conf=<boolean>
•
guids_data flag
•
False - returns a list of all PKeys
•
True - returns a list of all PKeys including their associated GUIDs
•
qos_conf flag
•
False - returns a list of all PKeys without QoS configuration
• True - returns a list of all PKeys including their associated QoS configuration
87
•
port_info flag
•
False - returns a list of all PKeys without port information details
•
True - returns a list of all PKeys including their associated port information
•
max_ports flag
•
<positive-int-value> - returns a list of all PKeys with port information details for
ports with number less than or equal to the provided value
•
Request Content Type
•
Application/json
•
Response Data Example - without GUID data
["0x1", "0x2", "0x3"]
•
Response Data Example - with GUID data
{
"0x3": {
"guids": [
{
"membership": null, "guid": "0002c903000e0b74",
"index0": false
},
{
"membership": null, "guid": "0002c903000e0b75",
"index0": false
}
],
"ip_over_ib": true, "partition": "api_pkey_0x3",
"qos_conf":{"mtu_limit":4,
"Rate_limit":300,
"Service_level":3}
}, "0x2": {
"guids": [
{
"membership": null, "guid": "0002c903000e0b76",
"index0": false
},
{
"membership": null, "guid": "0002c903000e0b77",
"index0": false
}
],
"ip_over_ib": true, "partition": "api_pkey_0x2",
"qos_conf":{"mtu_limit":4,
"Rate_limit":300,
"Service_level":3
}, "0x1": {
"guids": [
{
"membership": "full", "guid": "0002c903000e0b78",
"index0": false
}
],
"ip_over_ib": true, "partition": "api_pkey_0x1",
"qos_conf":{"mtu_limit":4,
"Rate_limit":300,
"Service_level":3
}
}
•
Status Codes
•
200 - OK
10.6 Set/Update PKey GUIDs
•
Description - sets a list of configured GUIDs for PKey (or overwrites the current list, if found)
•
Request URL - PUT /ufmRest/resources/pkeys/
•
Request Content Type - Application/json
• Request Data Parameters
88
Name
Value
Defau
Description
Mandatory/
lt
Optional
guids
["…",… ".."]
None
List of port GUIDs
Mandatory
Each GUID is a
hexadecimal string with
a minimum length of 16
characters and maximum
length of 20 characters
pkey
Hexadecimal string
None
Network PKey
Mandatory
between "0x0"-"0x7fff"
exclusive
index0
Boolean: true/false
False
If true, the API will store
Optional
the PKey at index 0 of the
PKey table of the GUID.
ip_over_ib
Boolean: true/false
True
PKey is a member in a
Optional
multicast group that uses
IP over InfiniBand
membershi
“full”, “limited”
"full"
•
“full”-
Optional
p
members with
full
membership
can
communicate
with all hosts
(members)
within the
network/
partition
• “limited” -
members with
limited
membership
cannot
communicate
with other
members with
limited
membership.
However,
communicatio
n is allowed
between
every other
combination
of
membership
types.
89
Name
Value
Defau
Description
Mandatory/
lt
Optional
membershi
[“full”, “limited”, ...]
[]
List of memberships to
This parameter is
ps
List of “full” or
allow users to create or
optional. This parameter
“limited” comma-
modify different
conflicts with the
separated strings. It
membership per GUID in
“membership”
must be the same length
same PKey. GUID index 0
parameter. Users must
as the GUIDs list. Each
in the “guids” list will
select either a list of
value by an index
take index 0 from the
memberships or just one
represents a GUID
memberships list and so
membership for all
membership.
on (by order)
GUIDs.
•
Request Data Example
{
"guids": ["0002c903000e0b72", "0002c903000e0b73"],
"ip_over_ib" : false, "index0": true,
"index0": true,
"membership": "full",
"pkey": "0x0a12"
}
•
Response - N/A
•
Status Codes
•
200 - OK
•
400 - bad request
To use this API to trigger Mellanox Scalable Hierarchical Aggregation and Reduction
Protocol (SHARP)™ allocations and deallocations, please refer to "NVIDIA SHARP REST
API".
10.7 Add Hosts to PKey
•
Description - Allows the user to create new Partition key (Pkey) assignments, including all the
ports allocated to sent host names. UFM-SLURM plugin reads the following API attributes
(ip_over_ib, index0, membership) from ufm_slurm.conf file, and sends them in request body.
•
Request URL - /ufmRest/resources/pkeys/hosts
•
Status Codes
•
200 - OK
•
400 - not found
• Request Data Example:
The response is a job and its status depends on the action output.
{
"hosts_names":"r-ufm51,r-ufm77",
"ip_over_ib": true,
"index0": false,
"membership": "full",
"pkey": "0xa12"
}
90
10.8 Remove Hosts from PKey
•
Description - Using this API allowed the user to remove a list of configured Hosts GUIDs from
PKey.
•
Request URL - DELETE /ufmRest/resources/pkeys/<pkey>/hosts/
<host_name1>,<host_name2>,…
•
Status Codes
•
200 - OK
•
400 - not found
10.9 Delete PKey
•
Description - deletes a PKey and all of its configured GUIDs
•
Request URL - DELETE /ufmRest/resources/pkeys/<pkey>
•
Status Codes
•
200 - OK
•
404 - not found
10.10 Update PKey QoS
•
Description - updates the QoS configuration for a specific PKey
•
Request URL - PUT /ufmRest/resources/pkeys/qos_conf
•
Request Data Example
{
"mtu_limit": 4,
"service_level": 5,
"rate_limit": 2,
"pkey": "0x9"
}
•
Notes
•
mtu_limit value can be 2k or 4k
•
service_lever value can be range from 0-15
•
rate_limit value can be one of the following: 2.5, 10, 30, 5, 20, 40, 60, 80, 120, 14,
56, 112, 168, 25, 100, 200, or 300
•
Restarting UFM is required for the PKey QoS configuration to take effect
•
Status Codes
•
200 - OK
400 - bad request
10.11 PKey Version (Last Updated)
•
Description - returns the time when PKey data was last modified
•
Request URL - GET /ufmRest/resources/pkeys/last_updated
• Request Data Example
{
"last_updated": "Thu Sep
3 11:42:39 UTC 2020"
}
91
•
Notes
•
Last updated data is not persistent and will be reset when UFM is restarted
•
By default, when no updates are done on PKey data, last_updated value will be null
•
The value of last_updated returned by this REST API will be updated when one of the
following REST APIs are called:
•
Add GUIDs to PKey
•
Remove GUIDs from PKey
•
Set GUIDs for PKey
•
Delete PKey
• Update QoS for PKey
92
11 Forge InfiniBand Anti-Spoofing REST API
11.1 Create Physical-Virtual GUID Mapping
•
Description: Creates a physical-virtual GUID mapping by sending the physical and virtual GUID
list.
•
Request URL: POST /ufmRest/app/smconf/physical_virtual_mapping
•
Request Content Type - Application/json
•
Request Data:
{
"physical-port-guid": ["PHYS_PORT_GUID_A", "PHYS_PORT_GUID_B"],
"virtual-port-guid": ["VIRT_PORT_GUID_A", "VIRT_PORT_GUID_B"]
}
•
If either the physical-port-guid or virtual-port-guid were not sent, the default value is an
empty list.
•
Response: Integer <id> associated with this map group.
Status
Description
200
OK
400
BAD_REQUEST (bad or missing parameters)
11.2 Get All Physical-Virtual GUID Mapping
•
Description: Gets all created physical-virtual GUID mapping.
•
Request URL: GET /ufmRest/app/smconf/physical_virtual_mapping
•
Request Data: N/A
•
Response Content Type - Application/json
•
Response:
{
"1": {
"physical-port-guid": ["PHYS_PORT_GUID_A", "PHYS_PORT_GUID_B"],
"virtual-port-guid": ["VIRT_PORT_GUID_A", "VIRT_PORT_GUID_B"]
}
}
•
Status Code:
Status
Description
200
OK
400
BAD_REQUEST
11.3 Get Specific Physical-Virtual GUID Mapping
•
Description: Gets a specific physical-virtual GUID mapping.
• Request URL: GET /ufmRest/app/smconf/physical_virtual_mapping/<mapping_id>
93
•
Request Data: N/A
•
Response Content Type - Application/json
•
Response:
{
"physical-port-guid": ["PHYS_PORT_GUID_A", "PHYS_PORT_GUID_B"],
"virtual-port-guid": ["VIRT_PORT_GUID_A", "VIRT_PORT_GUID_B"]
}
Status
Description
200
OK
400
BAD_REQUEST
404
NOT_FOUND
11.4 Update Physical-Virtual GUID Mapping
•
Description: Replaces map GUID with a new GUID mapping for a specific group ID.
•
Request URL: PUT /ufmRest/app/smconf/physical_virtual_mapping/<mapping_id>
•
Response Content Type - Application/json
•
Request Data:
{
"physical-port-guid": ["PHYS_PORT_GUID_A", "PHYS_PORT_GUID_B"],
"virtual-port-guid": ["VIRT_PORT_GUID_A", "VIRT_PORT_GUID_B"]
}
•
Status Code:
Status
Description
200
OK
400
BAD_REQUEST
11.5 Add New Physical-Virtual GUID Mapping to an
Existing Group
•
Description: Adds a new physical-virtual GUID to an existing group ID.
•
Request URL: PUT /ufmRest/app/smconf/physical_virtual_mapping /<mapping_id>/add
•
Response Content Type - Application/json
•
Request Data:
{
"physical-port-guid": ["PHYS_PORT_GUID_A", "PHYS_PORT_GUID_B"],
"virtual-port-guid": ["VIRT_PORT_GUID_A", "VIRT_PORT_GUID_B"]
}
• Status Code:
94
Status
Description
200
OK
400
BAD_REQUEST
11.6 Delete Physical-Virtual GUID Mapping
•
Description: Deletes a group ID mapping.
•
Request URL: DELETE /ufmRest/app/smconf/physical_virtual_mapping/<mapping_id>
•
Response Content Type - Application/json
• Status Code:
Status
Description
200
OK
400
BAD_REQUEST
404
NOT_FOUND
95
12 Virtualization REST API
12.1 Get All Virtual Ports
•
Description - get all virtual ports in the fabric
•
Request URL - GET /ufmRest/resources/vports
•
Request Content Type - Application/json
•
Request Data
[
{
"virtual_port_state": "Active",
"virtual_port_lid": 3434,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_0",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850a",
"port_name": "248a0703008a850a_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c90000000017"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3435,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_0",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850a",
"port_name": "248a0703008a850a_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c90000000018"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3435,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_1",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850b",
"port_name": "248a0703008a850b_2",
"physical_port_number": 2,
"virtual_port_guid": "0002c90000000019"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3436,
"system_ip": "0.0.0.0",
"system_name": "r-ufm51",
"node_description": "r-ufm51 HCA-1",
"system_guid": "f452140300383a00",
"port_guid": "f452140300383a01",
"port_name": "f452140300383a01_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c9000000001c"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3437,
"system_ip": "0.0.0.0",
"system_name": "r-ufm51",
"node_description": "r-ufm51 HCA-1",
"system_guid": "f452140300383a00",
"port_guid": "f452140300383a02",
"port_name": "f452140300383a02_2",
"physical_port_number": 2,
"virtual_port_guid": "0002c9000000001f"
}
]
•
Status codes
•
200 - OK
•
400 - BAD_REQUEST
12.2 Get All Virtual Ports for Specific System
•
Description - get the list of all virtual ports for a specific system
• Request URL - GET /ufmRest/resources/vports?system=<system_guid>
96
•
Request Content Type - Application/json
•
Request Data
[
{
"virtual_port_state": "Active",
"virtual_port_lid": 3434,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_0",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850a",
"port_name": "248a0703008a850a_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c90000000017"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3435,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_0",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850a",
"port_name": "248a0703008a850a_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c90000000018"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3435,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_1",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850b",
"port_name": "248a0703008a850b_2",
"physical_port_number": 2,
"virtual_port_guid": "0002c90000000019"
}
]
•
Status codes
•
200 - OK
•
400 - BAD_REQUEST
•
404 - NOT_FOUND
12.3 Get Virtual Ports for Specific Physical Port
•
Description - get the list of virtual ports for specific physical port
•
Request URL - GET /ufmRest/resources/vports?port=<port_name>
•
Request Content Type - Application/json
• Request Data
[
{
"virtual_port_state": "Active",
"virtual_port_lid": 3434,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_0",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850a",
"port_name": "248a0703008a850a_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c90000000017"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3435,
"system_ip": "11.4.3.175",
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_0",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850a",
"port_name": "248a0703008a850a_1",
"physical_port_number": 1,
"virtual_port_guid": "0002c90000000018"
},
{
"virtual_port_state": "Active",
"virtual_port_lid": 3435,
"system_ip": "11.4.3.175",
97
"system_name": "r-ufm77",
"node_description": "r-ufm77 mlx5_1",
"system_guid": "248a0703008a850a",
"port_guid": "248a0703008a850b",
"port_name": "248a0703008a850b_2",
"physical_port_number": 2,
"virtual_port_guid": "0002c90000000019"
}
]
•
Status codes
•
200 - OK
•
400 - BAD_REQUEST
• 404 - NOT_FOUND
98
13 Unhealthy Ports REST API
•
Description - Manages unhealthy ports in OpenSM
•
Request URL - GET /ufmRest/app/unhealthy_ports
•
Main Operations
•
Get unhealthy ports
•
Mark unhealthy ports as healthy
•
Mark healthy ports as unhealthy
13.1 Get Unhealthy Ports
•
Description - Gets all ports that are marked as healthy from OpenSM
•
Request URL - GET /ufmRest/app/unhealthy_ports
•
Request Content Type - Application/json
•
Response
[
{
"PeerLID": "18",
"PeerPortNumber": 6,
"UnhealthyPortNumber": 1,
"PeerGUID": "248a070300f88fe0",
"PeerPort": "switch-ec4034/6",
"UnhealthyNode": "r-dmz-ufm135",
"UnhealthyPort": "r-dmz-ufm135/HCA-1/1",
"State": "Info",
"PeerPortDname": "6",
"Condition": "MANUAL",
"PeerNode": "switch-ec4034",
"StatusTime": "Wed Apr 29 00:05:32 2020",
"UnhealthyPortDname": "HCA-1/1",
"UnhealthyGUID": "248a0703002e628e"
}
]
•
Status Codes
•
200 - OK
13.2 Mark Unhealthy Ports as Healthy
•
Description - Marks unhealthy ports or devices as healthy. Once device GUID is passed as a
parameter, its unhealthy ports are marked as healthy.
•
Request URL - PUT /ufmRest/app/unhealthy_ports
•
Request Content Type - Application/json
•
Request Data
"ports":[
"0002c9030060dc20_10"
],
“devices”:[
“0002c9030060dc20”
],
"ports_policy":"HEALTHY"
•
Status Codes
•
200 - OK
• 400 - bad request
99
13.3 Mark Healthy Ports as Unhealthy
•
Description - Mark healthy ports as unhealthy, and send the action that you want to apply on
this port
Action: ["no_discover", "isolate"]
•
Request URL - PUT /ufmRest/app/unhealthy_ports
•
URL Parameters:
•
force_set : An optional boolean value. If set to true, will set the port as unhealthy in
the policy file without validating if the port exists.
Request Example: /ufmRest/app/unhealthy_ports?force_set=true
•
Request Content Type - Application/json
•
Request Data
{
"ports":[
"0002c9030060dc20_10"
],
"ports_policy":"UNHEALTHY",
"action":"no_discover"
}
•
Status Codes
•
200 - OK
•
400 - bad request
13.4 Mark All Unhealthy Ports as Healthy at Once
•
Description - Marks a list of ports as unhealthy in the UFM server. If the optional boolean
value is set to true, the REST API sets the port as unhealthy in the policy file without
validating if the port exists. (This parameter allows setting non-discovered or disabled ports
as unhealthy)
•
Request URL - POST https://10.209.36.126/ufmRest/app/unhealthy_ports
•
Request Content Type - Application/json
•
Request Data
{
"ports": [
"ALL"
],
"ports_policy": "HEALTHY"
}
•
Status Codes
•
200 - OK
13.5 Connectivity
•
Description - Gets unhealthy port.
•
Request URL - GET app/unhealthy_ports .
•
Parameter:
• Connectivity
100
•
host-to-switch
•
switch-to-switch
Example: /ufmRestV2/app/unhealthy_ports?connectivity=host-to-switch
13.6 Delete Policies
•
Description: Deletes unhealthy/healthy ports from health policy file.
•
Request URL: DELETE app/unhealthy_ports/policy
•
Request data- List of strings:
•
Port names - Deletes all the ports specified in the list.
•
Device GUID - Deletes all the ports in the health policy of that specified device GUID.
•
all_healthy - Deletes all the healthy ports in the health policy.
•
Status Codes-
•
200 - OK
•
Response:
A list of deleted ports.
13.7 Get Healthy Policy Ports
•
Description: Retrieves all unhealthy/healthy ports from the health policy file.
•
Request URL: Get app/unhealthy_ports/policy
•
Request data
•
device_guid: Enables you to group ports by device.
•
Status Codes:
•
200-OK
•
Response:
[
{
"node_guid": "248a070300f88fe0",
"port_number": 6,
"policy": Healthy,
"action":””,
"last_updated": "Wed Apr 29 00:05:32 2020",
"node_description": "r-dmz-ufm135",
"node_name": "r-dmz-ufm135/HCA-1/1",
"capabilities": "mark_port_unhealthy",
}
]
13.8 Get Healthy Policy Devices
•
Description - Retrieves all devices from the health policy.
•
Request URL - Get app/unhealthy_ports/policy_devices
•
Status Codes:
• 200-OK
101
• Response:
[
{
"guid": "248a070300f88fe0",
"type": host,
"name":” r-dmz-ufm135/HCA-1/1”,
"number_of_policies”: 7
}
]
102
14 Modules REST API
•
Description - returns information on all modules in the fabric, or on a specific module by
name, or on all modules of a specific system
•
Request URL - GET /ufmRest/resources/modules
•
Main Operations
•
Get all modules
•
Get module/s by name
•
Get all modules of a specific system
14.1 Get All Modules
•
Description - returns information on all modules in the fabric
•
Request URL - GET /ufmRest/resources/modules
•
Request Content Type - Application/json
• Response
[
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "A5",
"name": "248a070300f88fe0_4001_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09072",
"path": "default / Switch: switch-ec4034 / FAN 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "A5",
"name": "248a070300f88fe0_4001_03",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 3",
"max_ib_ports": 0,
"module_index": 3,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09071",
"path": "default / Switch: switch-ec4034 / FAN 3",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "A5",
"name": "248a070300f88fe0_4001_02",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 2",
"max_ib_ports": 0,
"module_index": 2,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09078",
"path": "default / Switch: switch-ec4034 / FAN 2",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
103
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "A5",
"name": "248a070300f88fe0_4001_04",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 4",
"max_ib_ports": 0,
"module_index": 4,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09070",
"path": "default / Switch: switch-ec4034 /
FAN 4",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSB7800-ES2F",
"hw_revision": "N/A",
"name": "248a070300f88fe0_4000_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "MGMT",
"number_of_chips": 0,
"description": "MGMT - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X09706",
"path": "default / Switch: switch-ec4034 /
MGMT 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "fatal",
"psid": "N/A",
"hw_version": "MTEF-PSF-AC-A",
"hw_revision": "A7",
"name": "248a070300f88fe0_2005_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "PS",
"number_of_chips": 0,
"description": "PS - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X07738",
"path": "default / Switch: switch-ec4034 /
PS 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Warning"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSB7800-ES2F",
"hw_revision": "N/A",
"name": "248a070300f88fe0_1007_01",
"hca_dev_id": "N/A",
"sw_version": "3.8.1991-02-X86_64",
"type": "SYSTEM",
"number_of_chips": 0,
"description": "SYSTEM",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X09706",
"path": "default / Switch: switch-ec4034 /
system 1",
"device_name": "switch-ec4034",
"temperature": "45",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-PSF-AC-A",
"hw_revision": "N/A",
"name": "248a070300f88fe0_2005_02",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "PS",
"number_of_chips": 0,
"description": "PS - 2",
"max_ib_ports": 0,
"module_index": 2,
104
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X07735",
"path": "default / Switch: switch-ec4034 / PS 2",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSX6036F-1SFR",
"hw_revision": "N/A",
"name": "0002c903007b78b0_4000_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "MGMT",
"number_of_chips": 0,
"description": "MGMT - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "0002c903007b78b0",
"device_type": "Switch",
"serial_number": "MT1230X02600",
"path": "default / Switch: r-dmz-ufm-sw49 / MGMT 1",
"device_name": "r-dmz-ufm-sw49",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSX60-PF",
"hw_revision": "N/A",
"name": "0002c903007b78b0_2005_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "PS",
"number_of_chips": 0,
"description": "PS - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "0002c903007b78b0",
"device_type": "Switch",
"serial_number": "MT1212X03551",
"path": "default / Switch: r-dmz-ufm-sw49 / PS 1",
"device_name": "r-dmz-ufm-sw49",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSX6036F-1SFR",
"hw_revision": "N/A",
"name": "0002c903007b78b0_1007_01",
"hca_dev_id": "N/A",
"sw_version": "PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc",
"type": "SYSTEM",
"number_of_chips": 0,
"description": "SYSTEM",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "0002c903007b78b0",
"device_type": "Switch",
"serial_number": "MT1230X02600",
"path": "default / Switch: r-dmz-ufm-sw49 / system 1",
"device_name": "r-dmz-ufm-sw49",
"temperature": "43",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSX60-FF",
"hw_revision": "N/A",
"name": "0002c903007b78b0_4001_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "0002c903007b78b0",
"device_type": "Switch",
"serial_number": "MT1230X04280",
"path": "default / Switch: r-dmz-ufm-sw49 / FAN 1",
"device_name": "r-dmz-ufm-sw49",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "active",
"sw_version": "NA",
"hw_version": "NA",
"description": "Aggregation Node (248a070300f88fe8)",
"severity": "Info",
105
"number_of_chips": 0,
"hosting_system_guid": "248a070300f88fe0",
"module_index": 0,
"temperature": "N/A",
"device_type": "SHArP",
"serial_number": 53001,
"path": "default / SubModule: Mellanox Technologies Aggregation Node",
"device_name": "switch-ec4034",
"type": "SHARP",
"ports": [],
"name": "248a070300f88fe8"
}
]
•
Status Codes
•
200 - OK
14.2 Get Module/s by Name
•
Description - get module/s using their name
•
Request URL - GET/ufmRest/resources/modules/<module-name1>,<module-name2>,…
•
Request Content Type - Application/json
•
Response
[
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "A5",
"name": "248a070300f88fe0_4001_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09072",
"path": "default / Switch: switch-ec4034 / FAN 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"severity": "Info"
}
]
•
Status Codes
•
200 - OK
•
404 - NOT FOUND-module was not found (by name)
14.3 Get All Modules of Specific System
•
Description - returns all modules for a specific system
•
Request URL - GET /ufmRest/resources/modules?system=<system-name>
•
Request Content Type - Application/json
• Response
[
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A"0,
"hw_revision": "N/A",
"name": "248a070300f88fe0_4001_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
106
"serial_number": "MT1704X09072",
"path": "default / Switch: switch-ec4034 /
FAN 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "N/A",
"name": "248a070300f88fe0_4001_03",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 3",
"max_ib_ports": 0,
"module_index": 3,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09071",
"path": "default / Switch: switch-ec4034 /
FAN 3",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "N/A",
"name": "248a070300f88fe0_4001_02",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 2",
"max_ib_ports": 0,
"module_index": 2,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09078",
"path": "default / Switch: switch-ec4034 /
FAN 2",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-FANF-A",
"hw_revision": "N/A",
"name": "248a070300f88fe0_4001_04",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "FAN",
"number_of_chips": 0,
"description": "FAN - 4",
"max_ib_ports": 0,
"module_index": 4,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1704X09070",
"path": "default / Switch: switch-ec4034 /
FAN 4",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSB7800-ES2F",
"hw_revision": "N/A",
"name": "248a070300f88fe0_4000_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "MGMT",
"number_of_chips": 0,
"description": "MGMT - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X09706",
"path": "default / Switch: switch-ec4034 /
MGMT 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "fatal",
"psid": "N/A",
"hw_version": "MTEF-PSF-AC-A",
"hw_revision": "N/A",
"name": "248a070300f88fe0_2005_01",
"hca_dev_id": "N/A",
"sw_version": "N/A",
107
"type": "PS",
"number_of_chips": 0,
"description": "PS - 1",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X07738",
"path": "default / Switch: switch-ec4034 / PS 1",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Warning"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MSB7800-ES2F",
"hw_revision": "N/A",
"name": "248a070300f88fe0_1007_01",
"hca_dev_id": "N/A",
"sw_version": "3.8.1991-02-X86_64",
"type": "SYSTEM",
"number_of_chips": 0,
"description": "SYSTEM",
"max_ib_ports": 0,
"module_index": 1,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X09706",
"path": "default / Switch: switch-ec4034 / system 1",
"device_name": "switch-ec4034",
"temperature": "45",
"ports": [],
"severity": "Info"
},
{
"status": "OK",
"psid": "N/A",
"hw_version": "MTEF-PSF-AC-A",
"hw_revision": "N/A",
"name": "248a070300f88fe0_2005_02",
"hca_dev_id": "N/A",
"sw_version": "N/A",
"type": "PS",
"number_of_chips": 0,
"description": "PS - 2",
"max_ib_ports": 0,
"module_index": 2,
"hosting_system_guid": "248a070300f88fe0",
"device_type": "Switch",
"serial_number": "MT1702X07735",
"path": "default / Switch: switch-ec4034 / PS 2",
"device_name": "switch-ec4034",
"temperature": "N/A",
"ports": [],
"severity": "Info"
},
{
"status": "active",
"sw_version": "NA",
"hw_version": "NA",
"description": "Aggregation Node (248a070300f88fe8)",
"severity": "Info",
"number_of_chips": 0,
"hosting_system_guid": "248a070300f88fe0",
"module_index": 0,
"temperature": "N/A",
"device_type": "SHArP",
"serial_number": 53001,
"path": "default / SubModule: Mellanox Technologies Aggregation Node",
"device_name": "switch-ec4034",
"type": "SHARP",
"ports": [],
"name": "248a070300f88fe8"
}
]
•
Status Codes
•
200 - OK
14.4 Get All HCAs
•
Description - lists all hosts’ HCA modules in the fabric.
•
Request URL - GET /ufmRest/resources/modules?type=hca
•
Request Content Type - Application/json
• Response
[
{
108
"status": "N/A",
"psid": "MT_1090120019",
"hw_version": "2.42.5000",
"hw_revision": "N/A",
"name": "0002c9030021f970_0_00",
"hca_dev_id": 4099,
"sw_version": "2.42.5000",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-3",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "0002c9030021f970",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm134 /
HCA 1",
"device_name": "r-dmz-ufm134",
"temperature": "N/A",
"ports": [
"0002c9030021f972_2",
"0002c9030021f971_1"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_2190110032",
"hw_version": "12.25.1020",
"hw_revision": "N/A",
"name": "248a0703002e6292_0_00",
"hca_dev_id": 4115,
"sw_version": "12.25.1020",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-4",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "248a0703002e6292",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm139 /
HCA 1",
"device_name": "r-dmz-ufm139",
"temperature": "N/A",
"ports": [
"248a0703002e6293_2",
"248a0703002e6292_1"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_0000000008",
"hw_version": "16.27.2026",
"hw_revision": "N/A",
"name": "98039b030000e456_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2026",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "98039b030000e456",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm128 /
HCA 1",
"device_name": "r-dmz-ufm128",
"temperature": "N/A",
"ports": [
"98039b030000e456_1"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_0000000008",
"hw_version": "16.27.2008",
"hw_revision": "N/A",
"name": "ec0d9a03007d7d0a_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2008",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "b8599f03000a77d0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dcs96 / HCA 1",
"device_name": "r-dcs96",
"temperature": "N/A",
"ports": [
"ec0d9a03007d7d0b_2",
"ec0d9a03007d7d0a_1"
],
"severity": "Info"
},
{
109
"status": "N/A",
"psid": "MT_0000000008",
"hw_version": "16.27.2008",
"hw_revision": "N/A",
"name": "b8599f03000a77d0_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2008",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 2,
"hosting_system_guid": "b8599f03000a77d0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dcs96 / HCA 1",
"device_name": "r-dcs96",
"temperature": "N/A",
"ports": [
"b8599f03000a77d1_2",
"b8599f03000a77d0_1"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_1090120019",
"hw_version": "2.42.5000",
"hw_revision": "N/A",
"name": "0002c90300455bc0_0_00",
"hca_dev_id": 4099,
"sw_version": "2.42.5000",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-3",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "0002c90300455bc0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm131 / HCA 1",
"device_name": "r-dmz-ufm131",
"temperature": "N/A",
"ports": [
"0002c90300455bc2_2",
"0002c90300455bc1_1"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "N/A",
"hw_version": "N/A",
"hw_revision": "N/A",
"name": "248a0703002e628e_0_00",
"hca_dev_id": 4115,
"sw_version": "N/A",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-4",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "248a0703002e628e",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm135 / HCA 1",
"device_name": "r-dmz-ufm135",
"temperature": "N/A",
"ports": [
"248a0703002e628e_1",
"248a0703002e628f_2"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "N/A",
"hw_version": "N/A",
"hw_revision": "N/A",
"name": "0008f10001085600_0_00",
"hca_dev_id": 23141,
"sw_version": "N/A",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-3",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "0008f10001085600",
"device_type": "Gateway",
"serial_number": "N/A",
"path": "default / Gateway: Mellanox 4036E IO 4036E-20FA / HCA 1",
"device_name": "Mellanox 4036E IO 4036E-20FA",
"temperature": "N/A",
"ports": [
"0008f10001085601_1"
],
"severity": "Info"
}
]
110
•
Status Codes
•
200 - OK
14.5 Get All HCAs With Ports
•
Description - lists all hosts’ HCA modules in the fabric including their respective ports.
•
Request URL - GET /ufmRest/resources/modules?type=hca&ports=true
•
Request Content Type - Application/json
• Response
[
{
"status": "N/A",
"psid": "MT_1090120019",
"hw_version": "2.42.5000",
"hw_revision": "N/A",
"name": "0002c9030021f970_0_00",
"hca_dev_id": 4099,
"sw_version": "2.42.5000",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-3",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "0002c9030021f970",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm134 / HCA 1",
"device_name": "r-dmz-ufm134",
"temperature": "N/A",
"ports": [
{
"peer_lid": 11,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "0002c903007b78b0_9",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "9",
"guid": "0002c9030021f972",
"peer_node_guid": "0002c903007b78b0",
"lid": 6,
"severity": "Info",
"logical_state": "Active",
"capabilities": [],
"active_speed": "14.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"systemID": "0002c9030021f970",
"tier": 1,
"path": "default(7) / Computer: r-dmz-ufm134 / NA / HCA-1/2",
"name": "0002c9030021f972_2",
"active_width": "4x",
"dname": "HCA-1/2",
"peer_node_name": "r-dmz-ufm-sw49",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 11,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "0002c903007b78b0_8",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
111
"mirror": "disable",
"peer_port_dname": "8",
"guid": "0002c9030021f971",
"peer_node_guid": "0002c903007b78b0",
"lid": 1,
"severity": "Info",
"logical_state": "Active",
"capabilities": [],
"active_speed": "14.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps"
],
"systemID": "0002c9030021f970",
"tier": 1,
"path": "default(7) / Computer: r-dmz-ufm134 / NA / HCA-1/1",
"name": "0002c9030021f971_1",
"active_width": "4x",
"dname": "HCA-1/1",
"peer_node_name": "r-dmz-ufm-sw49",
"mtu": 4096,
"external_number": 1
}
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_2190110032",
"hw_version": "12.25.1020",
"hw_revision": "N/A",
"name": "248a0703002e6292_0_00",
"hca_dev_id": 4115,
"sw_version": "12.25.1020",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-4",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "248a0703002e6292",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dmz-ufm139 / HCA 1",
"device_name": "r-dmz-ufm139",
"temperature": "N/A",
"ports": [
{
"peer_lid": 18,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_32",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "32",
"guid": "248a0703002e6293",
"peer_node_guid": "248a070300f88fe0",
"lid": 10,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "248a0703002e6292",
"tier": 1,
"path": "default(7) / Computer: r-dmz-ufm139 / NA / HCA-1/2",
112
"name": "248a0703002e6293_2",
"active_width": "4x",
"dname": "HCA-1/2",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 18,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_31",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "31",
"guid": "248a0703002e6292",
"peer_node_guid": "248a070300f88fe0",
"lid": 9,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "248a0703002e6292",
"tier": 1,
"path": "default(7) / Computer: r-dmz-ufm139 / NA / HCA-1/1",
"name": "248a0703002e6292_1",
"active_width": "4x",
"dname": "HCA-1/1",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 1
}
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_0000000008",
"hw_version": "12.25.1020",
"hw_revision": "N/A",
"name": "98039b030000e456_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2026",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
•
Status Codes
•
200 - OK
14.6 Get All HCAs of Specific System
•
Description - lists all hosts’ HCA modules for a specific host system
•
Request URL - GET /ufmRest/resources/modules?type=hca&system=<system_id>
•
Request Content Type - Application/json
• Response
[
{
"status": "N/A",
113
"psid": "MT_0000000008",
"hw_version": "16.27.2008",
"hw_revision": "N/A",
"name": "ec0d9a03007d7d0a_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2008",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "b8599f03000a77d0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dcs96 / HCA 1",
"device_name": "r-dcs96",
"temperature": "N/A",
"ports": [
"ec0d9a03007d7d0b_2",
"ec0d9a03007d7d0a_1"
],
"severity": "Info"
},
{
"status": "N/A",
"psid": "MT_0000000008",
"hw_version": "16.27.2008",
"hw_revision": "N/A",
"name": "b8599f03000a77d0_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2008",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 2,
"hosting_system_guid": "b8599f03000a77d0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dcs96 / HCA 1",
"device_name": "r-dcs96",
"temperature": "N/A",
"ports": [
"b8599f03000a77d1_2",
"b8599f03000a77d0_1"
],
"severity": "Info"
}
]
•
Status Codes
•
200 - OK
14.7 Get All HCAs of Specific System With Ports
•
Description - lists all HCA modules for a specific host system including their respective ports
•
Request URL - GET /ufmRest/resources/modules?type=hca&system=<system_id>&ports=true
•
Request Content Type - Application/json
• Response
[
{
"status": "N/A",
"psid": "MT_0000000008",
"hw_version": "16.27.2008",
"hw_revision": "N/A",
"name": "ec0d9a03007d7d0a_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2008",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 1,
"hosting_system_guid": "b8599f03000a77d0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dcs96 / HCA 1",
"device_name": "r-dcs96",
"temperature": "N/A",
"ports": [
{
"peer_lid": 18,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_20",
114
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "20",
"guid": "ec0d9a03007d7d0b",
"peer_node_guid": "248a070300f88fe0",
"lid": 4,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "b8599f03000a77d0",
"tier": 1,
"path": "default(7) / Computer: r-dcs96 / NA / HCA-1/2",
"name": "ec0d9a03007d7d0b_2",
"active_width": "4x",
"dname": "HCA-1/2",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 18,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "248a070300f88fe0_19",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "19",
"guid": "ec0d9a03007d7d0a",
"peer_node_guid": "248a070300f88fe0",
"lid": 3,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "25.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "b8599f03000a77d0",
"tier": 1,
"path": "default(7) / Computer: r-dcs96 / NA / HCA-1/1",
"name": "ec0d9a03007d7d0a_1",
"active_width": "4x",
"dname": "HCA-1/1",
"peer_node_name": "switch-ec4034",
"mtu": 4096,
"external_number": 1
}
],
"severity": "Info"
},
{
"status": "N/A",
115
"psid": "MT_0000000008",
"hw_version": "16.27.2008",
"hw_revision": "N/A",
"name": "b8599f03000a77d0_0_00",
"hca_dev_id": 4119,
"sw_version": "16.27.2008",
"type": "HCA",
"number_of_chips": 1,
"description": "HCA - 1",
"nic_type": "ConnectX-5",
"max_ib_ports": 2,
"module_index": 2,
"hosting_system_guid": "b8599f03000a77d0",
"device_type": "Computer",
"serial_number": "N/A",
"path": "default / Computer: r-dcs96 / HCA 1",
"device_name": "r-dcs96",
"temperature": "N/A",
"ports": [
{
"peer_lid": 11,
"number": 2,
"module": "N/A",
"physical_state": "Link Up",
"peer": "0002c903007b78b0_20",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "20",
"guid": "b8599f03000a77d1",
"peer_node_guid": "0002c903007b78b0",
"lid": 15,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "14.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "b8599f03000a77d0",
"tier": 1,
"path": "default(7) / Computer: r-dcs96 / NA / HCA-2/2",
"name": "b8599f03000a77d1_2",
"active_width": "4x",
"dname": "HCA-2/2",
"peer_node_name": "r-dmz-ufm-sw49",
"mtu": 4096,
"external_number": 2
},
{
"peer_lid": 11,
"number": 1,
"module": "N/A",
"physical_state": "Link Up",
"peer": "0002c903007b78b0_19",
"enabled_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"mirror": "disable",
"peer_port_dname": "19",
"guid": "b8599f03000a77d0",
"peer_node_guid": "0002c903007b78b0",
"lid": 14,
"severity": "Info",
"logical_state": "Active",
"capabilities": [
"reset",
"healthy_operations",
"disable"
],
"active_speed": "14.0 Gbps",
"enabled_width": [
"1x",
"4x"
],
"supported_width": [
"1x",
116
"4x"
],
"description": "Computer IB Port",
"supported_speed": [
"2.5 Gbps",
"5.0 Gbps",
"10.0 Gbps",
"14.0 Gbps",
"25.0 Gbps"
],
"systemID": "b8599f03000a77d0",
"tier": 1,
"path": "default(7) / Computer: r-dcs96 / NA / HCA-2/1",
"name": "b8599f03000a77d0_1",
"active_width": "4x",
"dname": "HCA-2/1",
"peer_node_name": "r-dmz-ufm-sw49",
"mtu": 4096,
"external_number": 1
}
],
"severity": "Info"
}
]
• Status Codes
• 200 - OK
117
15 Links REST API
•
Description - returns information on all links in the fabric, on all links connected to a specific
system, or on one link or all links with their cable information
•
Request URL - GET /ufmRest/resources/links
•
Main Operations
•
Get all links
•
Get all links connected to a specific system
•
Get all link/s with their cable information
15.1 Get All Links
•
Description - returns information on all links in the fabric
•
Request URL - GET /ufmRest/resources/links
•
Request Content Type - Application/json
•
Response
[
{
"source_guid": "0002c903007b78b0",
"source_port": "29",
"destination_guid": "0002c903007b78b0",
"destination_port": "28",
"source_port_dname": "29",
"destination_port_dname": "28",
"width": "IB_4x",
"severity": "Info",
"name": "0002c903007b78b0_28:0002c903007b78b0_29",
"capabilities": [
]
},
]
•
Status Codes
•
200 - OK
15.2 Get All Links Connected to Specific System
•
Description - returns information on all links connected to a system identified by the system
name
•
Request URL - GET /ufmRest/resources/links?system=<system-name>
•
Request Content Type - Application/json
• Response
[
{
"destination_port_dname": "HCA-1/2",
"severity": "Info",
"source_guid": "248a070300f88fe0",
"width": "IB_4x",
"source_port_dname": "20",
"source_port": "20",
"destination_port": "2",
"destination_guid": "b8599f03000a77d0",
"name": "248a070300f88fe0_20:ec0d9a03007d7d0b_2"
},
{
"destination_port_dname": "HCA-1/1",
"severity": "Info",
"source_guid": "248a070300f88fe0",
"width": "IB_4x",
"source_port_dname": "19",
"source_port": "19",
"destination_port": "1",
118
"destination_guid": "b8599f03000a77d0",
"name": "248a070300f88fe0_19:ec0d9a03007d7d0a_1"
},
{
"destination_port_dname": "HCA-2/1",
"severity": "Info",
"source_guid": "0002c903007b78b0",
"width": "IB_4x",
"source_port_dname": "19",
"source_port": "19",
"destination_port": "1",
"destination_guid": "b8599f03000a77d0",
"name": "0002c903007b78b0_19:b8599f03000a77d0_1"
},
{
"destination_port_dname": "HCA-2/2",
"severity": "Info",
"source_guid": "0002c903007b78b0",
"width": "IB_4x",
"source_port_dname": "20",
"source_port": "20",
"destination_port": "2",
"destination_guid": "b8599f03000a77d0",
"name": "0002c903007b78b0_20:b8599f03000a77d1_2"
}
]
•
Status Codes
•
200 - OK
15.3 Get Link/s With Cable Information
•
Description - returns information on one link or all links with their cable information
•
Request URL
GET /ufmRest/resources/links?cable_info=<'true'/'True'/'TRUE'/'t'/'T'>
or
GET /ufmRest/resources/links?system=<system-name>&cable_info=<'true'/'True'/'TRUE'/'t'/'T'>
•
Request Content Type - Application/json
•
Possible Filters - optional request parameter that can be used as filter:
Parameter
Value
Description
monitoring_counters_info
true
Return all the monitoring counters info for
source and destination ports
•
Response
[
{
"destination_port_dname": "HCA-1/2",
"severity": "Info",
"source_guid": "248a070300f88fe0",
"width": "IB_4x",
"source_port_dname": "20",
"source_port": "20",
"cable_info": {
"part_number": "MCP1600-E002E30",
"length": "2 m",
"serial_number": "MT1917VS00386",
"identifier": "QSFP+",
"technology": "Copper cable- unequalized",
"revision": "A2"
},
"destination_port": "2",
"destination_guid": "b8599f03000a77d0",
"name": "248a070300f88fe0_20:ec0d9a03007d7d0b_2"
},
{
"destination_port_dname": "HCA-1/1",
"severity": "Info",
"source_guid": "248a070300f88fe0",
"width": "IB_4x",
"source_port_dname": "19",
"source_port": "19",
"cable_info": {
"part_number": "MCP1600-E002E30",
"length": "2 m",
"serial_number": "MT1917VS00440",
"identifier": "QSFP+",
"technology": "Copper cable- unequalized",
119
"revision": "A2"
},
"destination_port": "1",
"destination_guid": "b8599f03000a77d0",
"name": "248a070300f88fe0_19:ec0d9a03007d7d0a_1"
},
{
"destination_port_dname": "HCA-2/1",
"severity": "Info",
"source_guid": "0002c903007b78b0",
"width": "IB_4x",
"source_port_dname": "19",
"source_port": "19",
"cable_info": {
"part_number": "MCP1600-E002E30",
"length": "2 m",
"serial_number": "MT1917VS00395",
"identifier": "QSFP+",
"technology": "Copper cable- unequalized",
"revision": "A2"
},
"destination_port": "1",
"destination_guid": "b8599f03000a77d0",
"name": "0002c903007b78b0_19:b8599f03000a77d0_1"
},
{
"destination_port_dname": "HCA-2/2",
"severity": "Info",
"source_guid": "0002c903007b78b0",
"width": "IB_4x",
"source_port_dname": "20",
"source_port": "20",
"cable_info": {
"part_number": "MCP1600-E002E30",
"length": "2 m",
"serial_number": "MT1917VS00384",
"identifier": "QSFP+",
"technology": "Copper cable- unequalized",
"revision": "A2"
},
"destination_port": "2",
"destination_guid": "b8599f03000a77d0",
"name": "0002c903007b78b0_20:b8599f03000a77d1_2"
}
]
•
Status Codes
•
200 - OK
15.4 Get Cable Information
•
Description - returns information on one cable or multiple cables
•
Request URL -
GET /ufmRest/resources/links?cable_serial=<S/N of the cable>
Or
GET /ufmRest/resources/links?cable_serial=<S/N of cable#1, S/N of cable#2, S/N of cable#3>
•
Request Content Type - Application/json
•
Response
[
{
"source_guid": "248a0703002e6222",
"source_port": "1",
"destination_guid": "e41d2d0300062380",
"destination_port": "3",
"source_port_dname": "HCA-1\/1",
"destination_port_dname": "3",
"width": "IB_4x",
"severity": "Info",
"name": "248a0703002e6222_1:e41d2d0300062380_3"
}
]
•
Status Codes
•
200 - OK
15.5 Get Switch Port Cable Information
• Description - retrieve cable information for switch ports
120
•
Request URL - POST /ufmRest/actions
•
Request Content Type - application/json
•
Request Data
{
"params": {
"port_id": "0002c9030060dc20_11"
},
"action": "get_cables_info",
"object_ids": [
"0002c9030060dc20"
],
"object_type": "System",
"description": "",
"identifier": "id"
}
•
Response
{
"troubleshooting_info": {
"Recommendation": "No issue was observed.",
"Status Opcode": "0",
"Group Opcode": "N/A"
},
"module_info": {
"Attenuation (5g,7g,12g) [dB]": "4,5,9",
"Rev": "A2",
"CDR RX": "",
"Voltage [mV]": "N/A",
"Vendor Part Number": "MCP1600-E001",
"Rx Power Current [dBm]": "N/A",
"OUI": "Mellanox",
"Digital Diagnostic Monitoring": "No",
"Transfer Distance [m]": "1",
"LOS Alarm": "N/A",
"Temperature [C]": "N/A",
"Cable Technology": "Copper cable unequalized",
"Tx Power Current [dBm]": "N/A",
"Bias Current [mA]": "N/A",
"Power Class": "1.5 W max",
"Compliance": "N/A",
"Vendor Serial Number": "MT1623VS01862",
"Wavelength [nm]": "N/A",
"Identifier": "QSFP+",
"FW Version": "N/A",
"CDR TX": "",
"Cable Type": "Passive copper cable",
"Vendor Name": "Mellanox"
},
"operational_info": {
"FEC": "No FEC",
"Auto Negotiation": "ON",
"Loopback Mode": "No Loopback",
"Physical state": "LinkUp",
"Width": "0x",
"State": "Active",
"Speed": "IB-EDR"
},
"supported_info": {
"Enabled Link Speed": "0x0000003f (EDR,FDR,FDR10,QDR,DDR,SDR)",
"Supported Cable Speed": "0x0000003f (EDR,FDR,FDR10,QDR,DDR,SDR)"
}
}
•
Status Codes
•
202 - ACCEPTED
•
400 - BAD_REQUEST
•
404 - NOT_FOUND
• 403 - FORBIDDEN
121
16 Non-Optimal Links REST API
16.1 Get Non-Optimal Links Action
•
Description - get the default action of non-optimal links between the ports
•
Request URL - GET /ufmRest/app/non_optimal_ports
•
Request Content Type - application/json
•
Response
{
"bad_port_action": "ignore"
}
•
Status Codes
•
200 - OK
•
400 - bad request
16.2 Update Non-Optimal Links Action
•
Description - updates the action on the non-optimal links between the ports. Possible actions:
"ignore", "reset", and "disable".
•
Request URL - PUT /ufmRest/app/non_optimal_ports
•
Request Content Type - application/json
•
Request Data
{
"bad_port_action": "ignore"
}
•
Status Codes
•
200 - OK
•
400 - bad request
16.3 Run Action on Non-Optimal Links
•
Description - run an immediate action on all the non-optimal links between the ports.
Possible actions: "ignore", "reset", and "disable".
•
Request URL - POST /ufmRest/app/non_optimal_ports/action_on_port
•
Request Content Type - application/json
•
Request Data
{
"bad_port_action": "ignore"
}
•
Status Codes
•
201 - created
• 400 - bad request
122
17 Logical Model REST API
17.1 Environments REST API
•
Description - manages logical environments and allow users to group servers, networks, and
more within an environment
•
Request URL - GET /ufmRest/resources/environments
•
Main operations
•
Get all environments
•
Get an environment by name
•
Create an environment
•
Update an environment
•
Delete an environment
17.1.1 Get All Environments
•
Description - lists all environments in the logical model
•
Request URL - GET /ufmRest/resources/environments
•
Request Content Type - Application/json
•
Response
[
{
"logical_servers": [],
"severity": "Info",
"total_servers": 0,
"description": null,
"state": "created",
"error": "none",
"total_alarms": 0,
"networks": [],
"name": "environment-cluster-1"
}
]
•
Status Codes
•
200 - OK
17.1.2 Get Environment by Name
•
Description - get a specific environment using its name
•
Request URL - GET /ufmRest/resources/environments/<name>
<name> - name of environment. If not used, all environments will be listed.
•
Request Content Type - Application/json
•
Response
{
"logical_servers": [],
"severity": "Info",
"total_servers": 0,
"description": null,
"state": "created",
"error": "none",
"total_alarms": 0,
"networks": [],
"name": "environment-cluster-1"
}
•
Status Codes
• 200 - OK
123
•
404 - NOT FOUND
17.1.3 Create Environment
•
Description - create a new environment
•
Request URL - POST /ufmRest/resources/environments
•
Request Content Type - Application/json
•
Request Data
{
"name": "ufm-environment",
"description": "cluster 1 environment"
}
•
Request Data
{
"name": "ufm-environment"
}
•
Status Codes
•
200 - OK
•
404 - BAD_REQUEST
17.1.4 Update Environment
•
Description
•
Update an environment’s details
•
Request URL
•
PUT /ufmRest/resources/environments/<name>
•
Request Content Type
•
Application/json
•
Request Data
{
"description": "cluster 2 environment"
}
•
Response
{
"name": "ufm-environment"
}
•
Status Codes
•
200 - OK
•
404 - BAD_REQUEST
17.1.5 Delete Environment
•
Description - delete an existing environment
•
Request URL - DELETE /ufmRest/resources/environments/<name>
•
Request Content Type - Application/json
• Response - N/A
124
•
Status Codes
•
204 - no content
•
404 - BAD_REQUEST
17.2 Logical Servers REST API
•
Description - manages logical servers within an environment. These interfaces allow users to
retrieve information on, create, update, delete, allocate to and free resources from logical
servers.
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers
•
Main operations
•
Get all logical servers
•
Get a logical server by name
•
Create a logical server
•
Allocate computes manually to a logical server
•
Allocate computes automatically to a logical server
•
Free computes manually from a logical server
•
Free computes automatically from a logical server
•
Delete a logical server
17.2.1 Get All Logical Servers
•
Description - lists all logical servers in the model
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers
•
Request Content Type - Application/json
•
Response
[
{
"description": null,
"computes": [
"0002c903000e0b72"
],
"total_computes": 1,
"severity": "Info",
"network_interfaces": [
"env1_server1_management"
],
"total_interfaces": 1,
"environment": "env1",
"state": "allocated",
"error": "none",
"total_active_computes": 1,
"os": "Linux",
"name": "server1"
}
]
•
Status Codes
•
200 - OK
17.2.2 Get Logical Server by Name
•
Description - get a specific logical server by its name
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers/<name>
<name> - name of a logical server. If not used, all logical servers will be listed.
•
Request Content Type - Application/json
• Response
125
{
"description": null,
"computes": [
"0002c903000e0b72"
],
"total_computes": 1,
"severity": "Info",
"network_interfaces": [
"env1_server1_management"
],
"total_interfaces": 1,
"environment": "env1",
"state": "allocated",
"error": "none",
"total_active_computes": 1,
"os": "Linux",
"name": "server1"
}
•
Status Codes
•
200 - OK
•
404 - NOT FOUND
17.2.3 Create Logical Server
•
Description - create a logical server within a given environment
•
Request URL - POST /ufmRest/resources/environments/<name>/logical_servers
•
Request Content Type - Application/json
•
Request Data
{
"name": "logical-server-1",
"description": "logical server for cluster 1"
}
•
Response
{
"name": "logical-server-1"
"environment": "ufm-environment"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.4 Allocate Computes Manually to Logical Server
•
Description - allocates specific computes to a logical server
•
Request URL - PUT /ufmRest/resources/environments/<name>/logical_servers/<name>/
allocate-computes
•
Request Content Type - Application/json
•
Request Data - specifies the list of the computes using their names. Example:
{
"computes": ["0002c903000e0b72", "…", …]
}
• Response - lists all the computes that are allocated to the logical server. Example:
{
"computes": [
"0002c903000e0b72"
],
126
"name": "server1"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.5 Allocate Computes Automatically to Logical Server
•
Description - allocates computes to a logical server according to the specified number of
computes
•
Request URL - PUT /ufmRest/resources/environments/<name>/logical_servers/<name>/
allocate-computes
•
Request Content Type - Application/json
•
Request Data - specifies the number of the computes required for allocation. Example:
{
"total_computes": 2
}
•
Response - lists all the computes that are allocated to the logical server. Example:
{
"computes": [
"0002c903000e0b72",
"0002c903000e0b73"
],
"name": "server1"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.6 Assign Computes Manually to Logical Server
•
Description - assign computes for logical server. As opposed to the allocate computes APIs,
this API assigns only the computes sent in the request to the logical server. If an empty list is
sent, all assigned computes to this logical server are removed.
•
Request URL - PUT /ufmRest/resources/environments/<env_name>/logical_servers/
<server_name>assign-computes
•
Request Content Type - Application/json
•
Request Data
{
"computes": [
"f452140300383a00"
]
}
•
Status Codes
•
200 - OK
• 400 - BAD_REQUEST
127
17.2.7 Assign Computes Automatically to Logical Server
•
Description - assign computes automatically for logical server depending on total_computes
number
•
Request URL - PUT /ufmRest/resources/environments/<env_name>/logical_servers/
<server_name>auto_assign-computes
•
Request Content Type - Application/json
•
Request Data
{
"total_computes": 1
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.8 Free Computes Manually From Logical Server
•
Description - free specified computes from a logical server
•
Request URL - PUT /ufmRest/resources/environments/<name>/logical_servers/<name>/free-
computes
•
Request Content Type - Application/json
•
Request Data - specifies list of computes to free using the compute names. Example:
{
"computes": ["0002c903000e0b72", "…", …]
}
•
Response - lists all the computes that were deallocated from the logical server. Example:
{
"computes": [
],
"name": "server1"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.9 Free Computes Automatically From Logical Server
•
Description - free the requested amount of computes that are allocated to a logical server
•
Request URL - PUT /ufmRest/resources/environments/<name>/logical_servers/<name>/free-
computes
•
Request Content Type - Application/json
• Request Data - lists the computes that are allocated to the logical server. Example:
{
"computes": [
"0002c903000e0b72",
"0002c903000e0b73"
],
"name": "server1"
128
}
•
Response - lists all the computes that are allocated to the logical server. Example:
{
"total_computes": <number>
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.10 Update Network Interfaces Assigned to Logical Server
•
Description - update the network interfaces assigned to logical server
•
Request URL - PUT /ufmRest/resources/environments/<env_name>/logical_servers/
<logical_server_name>/network_interfaces
•
Request Data
[
{
"network": "10",
"description": "new_discreption"
},
{
"network": "13",
"description": "N/A"
}
]
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.2.11 Update Logical Server Description
•
Description - update logical server description
•
Request URL - PUT /ufmRest/resources/environments/<env_name>/logical_servers/
<ls_name>
•
Request Data
{
"description": "new_disc"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
•
404 - NOT_FOUND
17.2.12 Delete Logical Server
•
Description - free computes from a logical server
•
Request URL - DELETE /ufmRest/resources/environments/<name>/logical_servers/<name>
•
Request Content Type - Application/json
•
Response - N/A
• Status Codes
129
•
204 - NO CONTENT
•
404 - NOT FOUND
17.3 Computes REST API
•
Description - these interfaces allow users to retrieve all or a specific compute allocated to a
logical server
•
Request URL - /ufmRest/resources/environments/<name>/logical_servers/<name>/computes
•
Main operations
•
Get all computes
•
Get a compute by name
17.3.1 Get All Computes
•
Description - lists all computes of a logical server
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers/<name>/
computes
•
Request Content Type - Application/json
•
Response
[
{
"severity": "Info",
"name": "0002c903000e0b72",
"environment": "env1",
"state": "allocated",
"total_vifs": 0,
"logical_server": "server1",
"description": "Compute Element"
},
{
"severity": "Info",
"name": "0002c90300a06a70",
"environment": "env1",
"state": "allocated",
"total_vifs": 0,
"logical_server": "server1",
"description": "Compute Element"
}
]
•
Status Codes
•
200 - OK
17.3.2 Get Compute by Name
•
Description - get a specific compute using its name
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers/<name>/
computes/<name>
<name> - name of a compute. If not used, all computes will be listed.
•
Request Content Type - Application/json
• Response
{
"severity": "Info",
"name": "0002c903000e0b72",
"environment": "env1",
"state": "allocated",
"total_vifs": 0,
"logical_server": "server1",
"description": "Compute Element"
}
130
•
Status Codes
•
200 - OK
17.4 Global Networks REST API
•
Description - manages global networks that can be used by all environments
•
Request URL - /ufmRest/resources/networks
•
Main operations
•
Get all global networks
•
Get a global network
•
Create a global network
•
Update a global network
•
Delete a global network
17.4.1 Get All Global Networks
•
Description - lists all global networks
•
Request URL - GET /ufmRest/resources/networks
•
Request Content Type - Application/json
• Response
[
{
"load_average": 0,
"description": null,
"pkey": "0x4",
"ip_services_configuration": {
"primary_dns": "0.0.0.0",
"secondary_dns": "0.0.0.0",
"method": "external",
"domain_name": ""
},
"severity": "Info",
"interfaces": [],
"state": "created",
"qos_parameters": {
"service_level": 0,
"rate_limit": 0
},
"error": "none",
"ip_configuration": {
"ip": "0.0.0.0",
"mask": "255.255.255.0",
"gateway": "0.0.0.0"
},
"mtu_limit": 0,
"total_alarms": 0,
"default_membership": "full",
"name": "global_net2"
},
{
"load_average": 0,
"description": "Primary IB management network",
"pkey": "0x7fff",
"ip_services_configuration": {
"primary_dns": "0.0.0.0",
"secondary_dns": "0.0.0.0",
"method": "external",
"domain_name": ""
},
"severity": "Info",
"interfaces": [],
"state": "created",
"qos_parameters": {
"service_level": null,
"rate_limit": null
},
"error": "none",
"ip_configuration": {
"ip": "192.168.60.0",
"mask": "255.255.255.0",
"gateway": "0.0.0.0"
},
"mtu_limit": 2048,
"total_alarms": 0,
"default_membership": "full",
"name": "management"
131
}
]
•
Status Codes
•
200 - OK
17.4.2 Get Global Network by Name
•
Description - get a specific global network using its name
•
Request URL - GET /ufmRest/resources/networks/<name>
•
Request Content Type - Application/json
•
Response
{
"load_average": 0,
"description": null,
"pkey": "0x4",
"ip_services_configuration": {
"primary_dns": "0.0.0.0",
"secondary_dns": "0.0.0.0",
"method": "external",
"domain_name": ""
},
"severity": "Info",
"interfaces": [],
"state": "created",
"qos_parameters": {
"service_level": 0,
"rate_limit": 0
},
"error": "none",
"ip_configuration": {
"ip": "0.0.0.0",
"mask": "255.255.255.0",
"gateway": "0.0.0.0"
},
"mtu_limit": 0,
"total_alarms": 0,
"default_membership": "full",
"name": "global_net2"
}
•
Status Codes
•
200 - OK
•
204 - NOT FOUND
17.4.3 Create Global Network
•
Description - create a new global network
•
Request URL - POST /ufmRest/resources/networks
• Request Data Parameters
Name
Values
Default
Description
Optional/
Mandatory
name
String
Name of network
Mandatory
description
String
None
Description of the network
Optional
132
Name
Values
Default
Description
Optional/
Mandatory
default_member
"full", "partial"
"full"
•
full - members with
Optional
ship
full membership can
communicate with all
hosts (members)
within the network/
partition
•
partial - members
with limited
membership cannot
communicate with
other members with
limited membership
but communication is
allowed between
every other
combination of
membership types
pkey
0x0-0x7fff
0x0
PKey of the network. If the PKey
Optional
is not specified during the
(hexadecimal)
network definition process (in
the Network Configuration
window or by using the Logical
Server wizard), UFM will select
the best available PKey for the
network.
load_average
0, 500, ..4000
The average traffic load to the
Optional
typical destination per Logical
Interface in MB per second
mtu_limit
0-4100
2048
Limit of maximum transmission
Optional
unit
rate_limit
0, 100, .., 5700
0
Rate Limit in Mbits per second.
Optional
This value is converted to a
standard InfiniBand enumerator,
and provisioned to the SM via the
partitions.conf and qos-
policy.conf files.
service_level
0,1, ..,7
0
Priority queue in which the
Optional
traffic will always be served.
•
0 - Strict High
•
1 - High
•
2 - Meduim,
•
…
•
7 - Strict low
method
external; static
static
Method of assigning IP
Optional
primary_dns
IPv4
0.0.0.0
Primary DNS
Optional
secondary_dns
IPv4
0.0.0.0
Secondary DNS
Optional
domain_name
String
Empty
Domain name
Optional
• Request Data Example
133
{
"name": " UFM-network",
"description": "…",
"default_membership": "partial",
"pkey": "0x0",
"load_average": 500
"mtu_limit": 2048
"ip_services_configuration": {
"method": "static",
"primary_dns": "255.255.0.0",
"secondary_dns": "255.255.0.0",
"domain_name": "12345678901234567"
}
"qos_parameters": {
"service_level": 6,
"rate_limit": 5700
}
}
•
Request Content Type - Application/json
•
Response
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.4.4 Update Global Network
•
Description - update an existing global network
•
Request URL - PUT /ufmRest/resources/networks
•
Request Data Parameters
Name
Values
Default
Description
Optional/
Mandatory
description
String
None
Description of the network
Optional
load_average
0, 500, ..4000
The average traffic load to the
Optional
typical destination per Logical
Interface in MB per second
mtu_limit
0-4100
2048
Limit of maximum transmission
Optional
unit
rate_limit
0, 100, .., 5700
0
Rate Limit in Mbits per second.
Optional
This value is converted to a
standard InfiniBand enumerator,
and provisioned to the SM via
the partitions.conf and qos-
policy.conf files.
service_level
0,1, ..,7
0
Priority queue in which the
Optional
traffic will always be served.
•
0 - Strict High
•
1 - High
•
2 - Meduim,
•
…
•
7 - Strict low
• Request Data Example
{
"description": "…",
"load_average": 500
"mtu_limit": 2048
"qos_parameters": {
"service_level": 6,
"rate_limit": 5700
134
}
}
•
Request Content Type - Application/json
•
Response
{
"name": "UFM-network"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.4.5 Delete Global Network
•
Description - delete an existing global network
•
Request URL - DELETE /ufmRest/resources/networks/<name>
•
Request Content Type - Application/json
•
Response - N/A
•
Status Codes
•
204 - NO CONTENT
•
400 - BAD_REQUEST
17.5 Local Networks REST API
•
Description - manages networks of local logical environments
•
Request URL - /ufmRest/resources/environments/<name>/networks
•
Main operations
•
Get all local networks
•
Get a local network
•
Create a local network
•
Update a local network
•
Delete a local network
17.5.1 Get All Local Networks
•
Description - lists all local networks
•
Request URL - GET /ufmRest/resources/environments/<name>/networks
•
Request Content Type - Application/json
• Response
[
{
"load_average": 0,
"description": null,
"pkey": "0x4",
"ip_services_configuration": {
"primary_dns": "0.0.0.0",
"secondary_dns": "0.0.0.0",
"method": "external",
"domain_name": ""
},
"severity": "Info",
"interfaces": [],
"state": "created",
"qos_parameters": {
"service_level": 0,
135
"rate_limit": 0
},
"error": "none",
"ip_configuration": {
"ip": "0.0.0.0",
"mask": "255.255.255.0",
"gateway": "0.0.0.0"
},
"mtu_limit": 0,
"total_alarms": 0,
"default_membership": "full",
"name": "global_net2"
}
]
•
Status Codes
•
200 - OK
17.5.2 Get Local Network by Name
•
Description - get a specific local network using its name
•
Request URL - GET /ufmRest/resources/environments/<name>/networks/<name>
•
Request Content Type - Application/json
•
Response
{
"load_average": 0,
"description": null,
"pkey": "0x4",
"severity": "Info",
"interfaces": [],
"state": "created",
"qos_parameters": {
"service_level": 0,
"rate_limit": 0
},
"error": "none",
"ip_configuration": {
"ip": "0.0.0.0",
"mask": "255.255.255.0",
"gateway": "0.0.0.0"
},
"mtu_limit": 0,
"total_alarms": 0,
"default_membership": "full",
"name": "global_net2"
}
•
Status Codes
•
200 - OK
•
204 - NOT FOUND
17.5.3 Create Local Network
•
Description - create a new local network
•
Request URL - POST /ufmRest/resources/environments/<name>/networks
• Request Data Parameters
Name
Values
Default
Description
Optional/
Mandatory
name
String
Name of network
Mandatory
description
String
None
Description of the network
Optional
136
Name
Values
Default
Description
Optional/
Mandatory
default_member
"full", "partial"
"full"
•
full - members with
Optional
ship
full membership can
communicate with all
hosts (members)
within the network/
partition
•
partial - members
with limited
membership cannot
communicate with
other members with
limited membership
but communication is
allowed between
every other
combination of
membership types
pkey
0x0-0x7fff
0x0
PKey of the network. If the PKey
Optional
is not specified during the
(hexadecimal)
network definition process (in
the Network Configuration
window or by using the Logical
Server wizard), UFM will select
the best available PKey for the
network.
load_average
0, 500, ..4000
The average traffic load to the
Optional
typical destination per Logical
Interface in MB per second
mtu_limit
0-4100
2048
Limit of maximum transmission
Optional
unit
rate_limit
0, 100, .., 5700
0
Rate Limit in Mbits per second.
Optional
This value is converted to a
standard InfiniBand enumerator,
and provisioned to the SM via the
partitions.conf and qos-
policy.conf files.
service_level
0,1, ..,7
0
Priority queue in which the
Optional
traffic will always be served.
•
0 - Strict High
•
1 - High
•
2 - Meduim,
•
…
•
7 - Strict low
method
external; static
static
Method of assigning IP
Optional
primary_dns
IPv4
0.0.0.0
Primary DNS
Optional
secondary_dns
IPv4
0.0.0.0
Secondary DNS
Optional
domain_name
String
Empty
Domain name
Optional
• Request Data Example
137
{
"name": " UFM-network",
"description": "…",
"default_membership": "partial",
"pkey": "0x0",
"load_average": 500
"mtu_limit": 2048
"ip_services_configuration": {
"method": "static",
"primary_dns": "255.255.0.0",
"secondary_dns": "255.255.0.0",
"domain_name": "12345678901234567"
}
"qos_parameters": {
"service_level": 6,
"rate_limit": 5700
}
}
•
Request Content Type - Application/json
•
Response
{
"name": "UFM-network"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.5.4 Update Local Network
•
Description - update an existing local network
•
Request URL - PUT /ufmRest/resources/environments/<name>/networks
•
Request Data Parameters
Name
Values
Default
Description
Optional/
Mandatory
description
String
None
Description of the network
Optional
load_average
0, 500, ..4000
The average traffic load to the
Optional
typical destination per Logical
Interface in MB per second
mtu_limit
0-4100
2048
Limit of maximum transmission
Optional
unit
rate_limit
0, 100, .., 5700
0
Rate Limit in Mbits per second.
Optional
This value is converted to a
standard InfiniBand enumerator,
and provisioned to the SM via
the partitions.conf and qos-
policy.conf files.
service_level
0,1, ..,7
0
Priority queue in which the
Optional
traffic will always be served.
•
0 - Strict High
•
1 - High
•
2 - Meduim,
•
…
•
7 - Strict low
• Request Data Example
138
{
"description": "…",
"load_average": 500
"mtu_limit": 2048
"qos_parameters": {
"service_level": 6,
"rate_limit": 5700
}
}
•
Request Content Type - Application/json
•
Response
{
"name": "UFM-network"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.5.5 Delete Local Network
•
Description - delete an existing local network
•
Request URL - DELETE /ufmRest/resources/environments/<name>/networks/<name>
•
Request Content Type - Application/json
•
Response - N/A
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.6 Network Interfaces REST API
•
Description - manages the interfaces (association) between the networks and the logical
servers
•
Request URL - /ufmRest/resources/environments/<name>/logical_servers/<name>/
network_interfaces
•
Main operations
•
Get all network interfaces
•
Get a network interface
•
Create a network interface
•
Update a network interface
•
Delete a network interface
17.6.1 Get All Network Interfaces
•
Description - lists all network interfaces for a specified logical server
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers/<name>/
network_interfaces
•
Request Content Type - Application/json
• Response
[
139
{
"load_average": null,
"severity": "Info",
"ip": "192.168.60.1",
"description": "Management NetIfc",
"membership": "parent",
"name": "environment-1_server-1_management",
"state": "created",
"qos_parameters": {
"service_level": 0,
"rate_limit": 0
},
"id": 1,
"logical_server": "server1",
"port": 0,
"network": "management"
}
]
•
Status Codes
•
200 - OK
17.6.2 Get Network Interface by Name
•
Description - get a specific network interface using its name
•
Request URL - GET /ufmRest/resources/environments/<name>/logical_servers/<name>/
network_interfaces/<name>
•
Request Content Type - Application/json
•
Response
{
"load_average": null,
"severity": "Info",
"ip": "192.168.60.1",
"description": "Management NetIfc",
"membership": "parent",
"name": "env1_server1_management",
"state": "created",
"qos_parameters": {
"service_level": 0,
"rate_limit": 0
},
"id": 1,
"logical_server": "server1",
"port": 0,
"network": "management"
}
•
Status Codes
•
200 - OK
•
204 - NOT FOUND
17.6.3 Create Network Interface
•
Description - create an interface between a logical server and a local/global network
•
Request URL - POST /ufmRest/resources/environments/<name>/logical_servers/<name>/
network_interfaces
•
Request Data Parameters
Name
Values
Default
Description
Optional/
Mandatory
network
String
Name of network
Mandatory
description
String
None
Description of the network Optional
interface
• Request Data Example
140
{
"network": "UFM-network",
"description": "Interface to UFM main network"
}
•
Request Content Type - Application/json
•
Response
{
"name": "environment-1-server-1-UFM-network"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.6.4 Update Network Interface
•
Description - update an existing network interface
•
Request URL - PUT /ufmRest/resources/environments/<name>/logical_servers/<name>/
network_interfaces
•
Request Data Parameters
Name
Values
Default
Description
Optional/
Mandatory
description
String
None
Description of the network
Optional
default_member
"full", "partial"
"full"
•
full - members with
Optional
ship
full membership can
communicate with
all hosts (members)
within the network/
partition
• partial - members
with limited
membership cannot
communicate with
other members with
limited membership
but communication
is allowed between
every other
combination of
membership types
load_average
0, 500, .. 4000
The average traffic load to the
Optional
typical destination per Logical
Interface in MB per second
mtu_limit
0-4100
2048
Limit of maximum transmission
Optional
unit
rate_limit
0, 100, .. 5700
0
Rate Limit in Mbits per second.
Optional
This value is converted to a
standard InfiniBand enumerator,
and provisioned to the SM via
the partitions.conf and qos-
policy.conf files.
141
Name
Values
Default
Description
Optional/
Mandatory
service_level
0,1, .. 7
0
Priority queue in which the
Optional
traffic will always be served.
•
0 - Strict High
•
1 - High
•
2 - Meduim,
•
…
•
7 - Strict low
•
Request Data Example
{
"description": "Interface to UFM network",
"load_average": 500
"qos_parameters": {
"service_level": 6,
"rate_limit": 5700
}
}
•
Request Content Type - Application/json
•
Response
{
"name": "environment-1-server-1-UFM-network"
}
•
Status Codes
•
200 - OK
•
400 - BAD_REQUEST
17.6.5 Delete Network Interface
•
Description - delete an existing network interface
•
Request URL - /ufmRest/resources/environments/<name>/logical_servers/<name>/
network_interfaces/<name>
•
Request Content Type - Application/json
•
Response - N/A
•
Status Codes
•
204 - NO CONTENT
• 400 - BAD_REQUEST
142
18 Alarms REST API
•
Description - returns information on all alarms in the fabric, or on one alarm using its ID
•
Request URL - GET /ufmRest/app/alarms
•
Main operations
•
Get all alarms
•
Get an alarm using its ID
•
Get alarms of a specific device
•
Remove alarms of a specific device
18.1 Get All Alarms
•
Description - returns information on all alarms in the fabric
•
Request URL - GET /ufmRest/app/alarms
•
Request Content Type - Application/json
•
Response
[
{
"event_type": 394,
"event_count": 31,
"timestamp": "2017-05-08 11:48:09.351",
"related_object_path": "default / Switch: r-ufm-sw63",
"counter": null,
"related_object_name": "e41d2d0300167ee0",
"name": "Module status FAULT",
"reason": "Module PS 2 on r-ufm-sw63(10.209.36.223) status is fatal",
"duration": 420,
"summary": "Module status FAULT",
"type": 55,
"id": 1,
"severity": "Critical"
}
]
•
Status Codes
•
200 - OK
18.2 Get Alarm Using ID
•
Description - returns information on a specific alarm by its ID
•
Request URL - GET /ufmRest/app/alarms/<id>
•
Request Content Type - Application/json
•
Response
{
"event_type": 394,
"event_count": 31,
"timestamp": "2017-05-08 11:48:09.351",
"related_object_path": "default / Switch: r-ufm-sw63",
"counter": null,
"related_object_name": "e41d2d0300167ee0",
"name": "Module status FAULT",
"reason": "Module PS 2 on r-ufm-sw63(10.209.36.223) status is fatal",
"duration": 420,
"summary": "Module status FAULT",
"type": 55,
"id": 1,
"severity": "Critical"
}
•
Note - if the <id> parameter is not provided, all alarms will be listed
•
Status Codes
• 200 - OK
143
•
404 - NOT FOUND-alarm was not found (by ID)
18.3 Get All Alarms of a Specific Device
•
Description - returns information on all alarms of a specified device
•
Request URL - GET ufmRest/app/alarms?device_id=<device_ID>
•
Request Content Type - Application/json
•
Response
[
{
"event_type": 702,
"event_count": 1,
"timestamp": "2019-03-06 16:28:25.249",
"description": "Unhealthy IB Port",
"counter": "N/A",
"object_name": "f45214030028c732_10",
"object_path": "default / Switch: switch-6473dc / NA / 10",
"name": "IB Port reported as unhealthy",
"reason": "Peer Port default / Computer: r-ufm49 mlx4_0 / NA / 1 is considered by SM as
unhealthy due to UNRESPONSIVE.",
"duration": "0 s",
"type": 71,
"id": 13,
"severity": "Warning"
},
{
"event_type": 702,
"event_count": 1,
"timestamp": "2019-03-06 16:28:25.250",
"description": "Unhealthy IB Port",
"counter": "N/A",
"object_name": "0002c9030021f892_2",
"object_path": "default / Computer: r-ufm142 HCA-1 / NA / 2",
"name": "IB Port reported as unhealthy",
"reason": "Peer Port default / Switch: switch-6473dc / NA / 5 is considered by SM as unhealthy due
to UNRESPONSIVE.",
"duration": "0 s",
"type": 71,
"id": 14,
"severity": "Warning"
}
]
•
Status Codes
•
200 - OK
•
404 - NOT FOUND-alarm was not found (by ID)
18.4 Remove All Alarms of a Specific Device
•
Description - removes all alarms of a specified device
•
Request URL - DELETE ufmRest/app/alarms?device_id=<device_ID>
•
Request Content Type - Application/json
•
Status Codes
•
200 - OK
• 404 - NOT FOUND-alarm was not found (by ID)
144
19 Events REST API
For the full list of UFM supported events, refer to “Supported Traps and Events” section in
UFM User Manual document.
•
Description - returns information on all events running in the fabric, or on a specific event
using its ID
•
Request URL - GET /ufmRest/app/events
•
Main operations
•
Get all events
•
Get an event using its ID
19.1 Get All Events
•
Description - returns information on all events running in the fabric
•
Request URL - GET /ufmRest/app/events
•
Request Content Type - Application/json
•
Response
[
{
"category": "Logical Model",
"severity": "Info",
"timestamp": "2017-09-19 10:49:03.018",
"counter": null,
"object_name": "Grid",
"object_path": "Grid",
"name": "Network Added",
"write_to_syslog": false,
"type": "352",
"id": 227,
"description": "Network management is added"
},
{
"category": "Fabric Notification",
"severity": "Info",
"timestamp": "2017-09-19 10:49:11.520",
"counter": null,
"object_name": "Grid",
"object_path": "Grid",
"name": "Fabric Configuration Started",
"write_to_syslog": false,
"type": "901",
"id": 228,
"description": "Fabric Configuration started."
}
]
•
Possible Filters
•
object_name - filters by object name
•
type - filters by type
•
category - filters by category
•
severity - filters by severity
•
group - filters events by the group that has caused the event
•
Status Codes
•
200 - OK
19.2 Get Event Using ID
•
Description - returns information on a specific event by its ID
• Request URL - GET /ufmRest/app/events/<id>
145
•
Request Content Type - Application/json
•
Response
{
"category": "Logical Model",
"severity": "Info",
"timestamp": "2017-09-13 10:57:09.253",
"counter": null,
"object_name": "Grid",
"object_path": "Grid",
"name": "Network Added",
"write_to_syslog": false,
"type": "352",
"id": 567,
"description": "Network management is added"
}
•
Note - if the <id> parameter is not provided, all events will be listed
•
Status Codes
•
200 - OK
• 404 - NOT FOUND-event was not found (by ID)
146
20 System Log REST API
This API allows users to access and update the system log configurations in UFM.
20.1 Get Syslog Configurations
•
URL - GET /ufmRest/app/syslog
•
Request Data - N/A
•
Response Example
{
"active":true,
"destination":"/var/log/",
"level":"WARNING",
"ufm_log":true,
"events_log":false
}
•
Response codes -
•
200 - OK
20.2 Update Syslog Configurations
•
URL - PUT /ufmRest/app/syslog
•
Request Data
{
"active": false,
"destination": "local",
"level":"ERROR",
"ufm_log":true,
"events_log":true
}
•
Response Example - N/A
•
Response codes -
•
200 - OK
• 400 - BAD REQUEST
147
21 Fabric Validation Tests REST API
•
Description - this interface allows users to run fabric validation tests and receive the
summary as a job output. Summary of the job contains all errors and warnings that were
found during the test execution.
•
Request URL - /ufmRest/fabricValidation/tests
•
Main Operations
•
Get all tests
•
Run test
21.1 Get All Tests
•
Description - retrieves all the existing fabric validation tests in UFM
•
Request URL - GET /ufmRest/fabricValidation/tests
•
Request Data - N/A
•
Response
[
"CheckLids",
"CheckLinks",
"CheckSubnetManager",
"CheckPortCounters",
"CheckDuplicateNodes",
"CheckDuplicateGuids",
"CheckRouting",
"CheckLinkSpeed",
"CheckLinkWidth",
"CheckPartitionKey",
"CheckTemperature",
"CheckCables",
"CheckEffectiveBER",
"CheckSymbolBER",
"RailOptimizedTopologyValidation",
"DragonflyTopologyValidation",
"SHARP FabricValidation",
"TreeTopologyValidation",
"SocketDirectModeReporting"
]
•
Status Codes
•
200 - OK
21.2 Run Test
•
Description - allows user to run a specific fabric validation test
•
Request URL - POST /ufmRest/fabricValidation/tests/test_name
test_name is one of the tests from the list that is returned using the Get all Tests request
•
Request Data - N/A
•
Response - HTTP Response Location Header will contain URI with Job ID created for running
the specified test
•
Status Codes
•
202 - accepted
•
409 - CONFLICT-Fabric validation test is currently running, please try running the test
later
• Job Output
{
"Status": "Completed With Errors",
"Foreground": true,
"Description": "Fabric validation CheckSubnetManager test",
148
"RelatedObjects": [
"Site"
],
"Created": "2017-06-21 09:43:14",
"LastUpdated": "2017-06-21 09:43:14",
"Summary": {
"TestStatus": "Completed with Errors",
"DetailedStatus": {
"Warning": [
],
"Error": [
{
"PortGUID": "0x0002c903001c56c1",
"Summary": "Running duplicated master subnet manager",
"NodeGUID": "0x0002c903001c56c0",
"PortNumber": "1",
"Scope": "Site",
"SystemGUID": "0x0002c903001c56c0"
},
{
"PortGUID": "0x0002c90300a7cbf1",
"Summary": "Running duplicated master subnet manager",
"NodeGUID": "0x0002c90300a7cbf1",
"PortNumber": "0",
"Scope": "Site",
"SystemGUID": "0x0002c90300a7cbf0"
}
]
}
},
"CreatedBy": "admin",
"Progress": 100,
"Operation": "Fabric validation test",
"ID": "20.1"
}
•
DetailedStatus - summary of the test results. Consists of two lists:
•
Errors - list of all errors that were found during test execution
•
Warnings - list of all warnings that were found during test execution
•
TestStatus - status of the test completion. Depends on the severity of the results:
•
Completed with Errors - errors are more severe than warnings. Therefore, even when
both warnings and errors are found during test execution, the TestStatus will read
“Completed with Errors”.
• Completed with Warnings - warnings are less severe than warnings. Therefore,
TestStatus will read “Completed with Warnings” when only warnings are found during
test execution.
149
|
||
|
|
|