image image image image image

On This Page

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.

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