NVIDIA UFM Enterprise REST API Guide (v6.15.2) - page 2

 

  Index      Manuals     NVIDIA UFM Enterprise REST API Guide (v6.15.2)

 

Search            copyright infringement  

 

   

 

   

 

Content      ..      1      2      3      ..

 

 

 

NVIDIA UFM Enterprise REST API Guide (v6.15.2) - page 2

 

 

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

 

 

 

 

 

 

 

Content      ..      1      2      3      ..