SHARPv2 must be running (enable_SHARP = true) and the NVIDIA Scalable Hierarchical Aggregation and Reduction Protocol (SHARP)™ allocation parameter must be enabled (enable_SHARP_alloction = true) for this API to trigger resource (GUID) allocations and deallocations within SHARP.
- Description – Configures NVIDIA SHARP allocations (reservations)
- Request URL – GET /ufmRest/app/SHARP/allocate_resources
- Main Operations
Get All Reservations
- Description – Retrieves all SHARP reservations
- Request URL – GET /ufmRest/ app/SHARP/allocate_reseources
- Request Content Type – Application/json
Response
{ "anas1":{ "pkey":"0x12", "guids":["0x248a0703008a850a", "0x248a0703008a850b"] }, "anas2":{ "pkey":"0x12", "guids": ["0xf452140300383a01", "0xf452140300383a02"] } }
Status Codes
200 – OK
400 – BAD_REQUEST
Get Specific SHARP Reservation
- Description – Gets specific SHARP reservation by app_id
- Request URL – GET /ufmRest/app/SHARP/allocate_resources/<app_id>
- Request Content Type – Application/json
- Status Codes
- 200 – OK
- 400 – BAD_REQUEST
- 404 – NOT_FOUND
{ "anas1":{ "pkey": "0x12", "guids": ["0x248a0703008a850a", "0x248a0703008a850b"] } }
Create a New SHARP Reservation
The following API is replacing the deprecated SHARP API presented in earlier versions of this UFM Enterprise REST API Guide.
- Description – Creates a new SHARP reservation. If the partial allocation parameter is set to false, the SHARP allocation request will not succeed in the event that even a single node is absent in the fabric. By default, this parameter is set to true.
- Request URL – POST /app/sharp/resources?partially_alloc=false
- Request Content-Type – Application/json
- Status Codes
- 202 – ACCEPTED (if all nodes were added successfully to created allocation)
- 206 – PARTIAL (if not all nodes were added to created allocation because they are not found in the fabric.)
- 400 – BAD_REQUEST
Request Data
Name
Value
Default
Description
Mandatory/Optional
App_id
String
None
"0x7fff" (This is the default management pkey) Application id.
It is also the identifier of this nodes allocation
Mandatory
App_resources_limit
Integer
-1
Application resources limitation
Optional
Hosts_names
String
None
A string of hosts names separated by a comma, to be added to sharp allocation.
Example:
"r-ufm77,r-ufm51"
Optional
Port_guids
list
None
List of ports guids Example:
["f452140300383a01", "f452140300383a02"]
Optional
pkey
Hexadecimal string between "0x0001"-"0x7ffe" exclusive
"0x7fff" (This is the default management pkey)
Created network PKey to be used by Sharp
Optional
Examples:
Create SHARP allocation by sending hosts_names:
{ "app_id":"99", "hosts_names":"r-ufm51,r-ufm55", "pkey":"0x12", "app_resources_limit": -1 }
Create SHARP allocation by sending port_guids:
{ "app_id":"99", "port_guids": ["f452140300383a01", "f452140300383a02"], "pkey":"0x12", "app_resources_limit": -1 }
Delete SHARP Reservation
The following API is replacing the deprecated SHARP API presented in earlier versions of the UFM Enterprise REST API Guide.
- Description - Deletes SHARP Allocation
- Request URL - DELETE /app/sharp/resources/<app_id>
- Request Content-Type – Application/json
- Status Codes
- 200 – OK
- 400 – BAD_REQUEST
Update SHARP Reservation
The following API is replacing the deprecated SHARP API presented in earlier versions of this UFM Enterprise REST API Guide.
- Description - Updates SHARP Allocation. If the partial allocation parameter is set to false, the SHARP allocation request will not succeed in the event that even a single node is absent in the fabric. By default, this parameter is set to true.
- Request URL: PUT /app/sharp/resources/<app_id>
- Request Content-Type – Application/json
- Status Codes
- 202 – ACCEPTED
- 206 - PARTIAL
- 400 – BAD_REQUEST
- Body Examples:
Update SHARP allocation by sending hosts_names:
{ "hosts_names":"r-ufm51,r-ufm77" }
Update SHARP allocation by sending port_guids:
{ "hosts_names":["f452140300383a01", "f452140300383a02"] }
Get All SHARP Jobs
- Description – Retrieves all active SHARP jobs.
- Request URL – GET /app/sharp/resources/jobs
- Request Content Type – Application/json
- Status Codes
- 200 – OK
Response
{ "99:58":{ "job_id":58, "num_guids":1, "num_rails":1, "trees":{ "0":{ "tree_id":0, "type":"LLT", "ANs":{ "0x33333":{ "description":"sw3", "lid":23, "rank":1, "guid":"0x33333", "parent_guid":null, "child_guids":null, "hca_guids":[ "0x78395179", "0x78395178" ] } } } }, "reservation_key":"99" }, "99:74":{ "job_id":74, "num_guids":1, "num_rails":1, "trees":{ "0":{ "tree_id":0, "type":"LLT", "ANs":{ "0x33333":{ "description":"sw3", "lid":23, "rank":1, "guid":"0x33333", "parent_guid":null, "child_guids":null, "hca_guids":[ "0x78395179", "0x78395178" ] } }, "reservation_key":"99" } } } }
Get a Specific SHARP Job
- Description – Retrieves specific active SHARP jobs with specific a reservation_id
- Request URL – GET /app/sharp/resources/jobs/<job_id>?reservation_id=<reservation_id>
- Request Content Type – Application/json
- Status Codes
- 200 – OK
- 404 – NOT_FOUND
Response
{ "99:58":{ "job_id":58, "num_guids":1, "num_rails":1, "trees":{ "0":{ "tree_id":0, "type":"LLT", "ANs":{ "0x33333":{ "description":"sw3", "lid":23, "rank":1, "guid":"0x33333", "parent_guid":null, "child_guids":null, "hca_guids":[ "0x78395179", "0x78395178" ] } } } }, "reservation_key":"99" } }
Get All SHARP Non-Blocking Jobs
- Description – Retrieves all active SHARP jobs using non blocking SHARP API
- Request URL – GET /app/sharp/resources/jobs_nb
- Request Content Type – Application/json
- Status Codes
- 200 – OK
Response – the HTTP response location header contains a URL with job ID created for running the action. Example:
{ "ID":"1", "Status":"Completed", "Progress":100, "Description":"Get sharp jobs", "Created":"2023-05-03 09:48:35", "LastUpdated":"2023-05-03 09:48:35", "Summary": { "99:58":{ "job_id":58, "num_guids":1, "num_rails":1, "trees":{ "0":{ "tree_id":0, "type":"LLT", "ANs":{ "0x33333":{ "description":"sw3", "lid":23, "rank":1, "guid":"0x33333", "parent_guid":null, "child_guids":null, "hca_guids":["0x78395179", "0x78395178"] } } } }, "reservation_key":"99" }, "99:74":{ "job_id":74, "num_guids":1, "num_rails":1, "trees":{ "0":{ "tree_id":0, "type":"LLT", "ANs":{ "0x33333":{ "description":"sw3", "lid":23, "rank":1, "guid":"0x33333", "parent_guid":null, "child_guids":null, "hca_guids":["0x78395179", "0x78395178"] } }, "reservation_key":"99" } } } }, "RelatedObjects":[], "CreatedBy":"admin", "Operation":"Get sharp jobs", "Foreground":true, "SiteName":"" }
Get Specific SHARP Non-Blocking Job
- Description – Retrieves specific active SHARP jobs with specific reservation_id using non blocking SHARP API
- Request URL – GET /app/sharp/resources/jobs_nb/<job_id>?reservation_id=<reservation_id>
- Request Content Type – Application/json
- Status Codes
- 200 – OK
- 404 – NOT_FOUND
Response – the HTTP Response location header contains a URL with job ID created for running the action. Example:
{ "ID":"1", "Status":"Completed", "Progress":100, "Description":"Get sharp jobs", "Created":"2023-05-03 09:48:35", "LastUpdated":"2023-05-03 09:48:35", "Summary": { "99:58":{ "job_id":58, "num_guids":1, "num_rails":1, "trees":{ "0":{ "tree_id":0, "type":"LLT", "ANs":{ "0x33333":{ "description":"sw3", "lid":23, "rank":1, "guid":"0x33333", "parent_guid":null, "child_guids":null, "hca_guids":["0x78395179", "0x78395178"] } } } }, "reservation_key":"99" }, "RelatedObjects":[], "CreatedBy":"admin", "Operation":"Get sharp jobs", "Foreground":true, "SiteName":"" }