Batch Flow Gateway Update API.
Created Nov 12, 2024 at 10:01 PM

Overview

Overview

The documentation pages in this section describe the RESTful APIs included with Riverbed Netprofiler Product. It is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on how from a NetProfiler software update can be performed on all the connected FlowGateways to it, how to distribute .iso to all the connected FlowGateways.

The following operations can be performed via the API:

  • Distribute .iso image to connected FlowGateways.
  • Initialize Software Update on connected FlowGateways.
  • Start Software Update on connected FlowGateways.
  • Displays current status of Software Update on connected FlowGateways.

Details about REST resources can be found in the Resources section. This overview continues with how to run these API's.

Authentication

All REST requests must be authenticated. The Authentication section of the Common API describes which authentication methods are presently supported.

Resources

Images: Upload ISO

Uploads ISO image to all connected FlowGateways. Prior to this api, user should upload ISO manually on relevant NetProfiler using /api/api/mgmt.system_update/1.0/ upload or fetch api.

PUT https://{device}/api/mgmt.common_update/1.0/images/upload
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server does not provide any body in the responses.

Update: Update Status

Gets the current status of Software Update for all connected FlowGateways.

GET https://{device}/api/mgmt.common_update/1.0/update
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "State": string,
    "Internal State description": string,
    "State description": string,
    "Current Version": string,
    "Update To Version": string
  }
]

Example:
[
  {
    "1.2.3.4": {
      "State": "initializing", 
      "Internal State Description": "Visible only during State = failed_graceful or failed_critical", 
      "State Description": "Visible only during State = failed_graceful or failed_critical", 
      "Current Version": "10.22", 
      "Update To Version": "10.23"
    }
  }, 
  {
    "1.2.3.5": {
      "State": "initialized", 
      "Internal State Description": "Visible only during State = failed_graceful or failed_critical", 
      "State Description": "Visible only during State = failed_graceful or failed_critical", 
      "Current Version": "10.22", 
      "Update To Version": "10.23"
    }
  }
]
Property Name Type Description Notes
UpdatesStatus <array of <object>> Software Update Current Status on all connected FlowGateways.
UpdatesStatus[UpdateStatus] <object> List of Software Update Status for all connected FlowGateways. Optional
UpdatesStatus[UpdateStatus].State <string> The state of the update. Values: neutral, initializing, initialized, running, failed_graceful, failed_critical
UpdatesStatus[UpdateStatus].
Internal State description
<string> Displays Internal State Description only at the time of failure during software update. Optional
UpdatesStatus[UpdateStatus].
State description
<string> Displays State Description only at the time of failure during software update. Optional
UpdatesStatus[UpdateStatus].
Current Version
<string> Displays Current FlowGateway version.
UpdatesStatus[UpdateStatus].
Update To Version
<string> Displays Target version to which FlowGateway needs to be updated to.

Update: Initialize

Initializes all the connected FlowGateway systems.

POST https://{device}/api/mgmt.common_update/1.0/update/init
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  string
]

Example:
[
  "10.1.x.x - Operation Failed", 
  "10.2.x.x - Operation Successfull"
]
Property Name Type Description Notes
InitResult <array of <string>> Results of initialization operation for all connected FlowGateways.
InitResult[item] <string> Displays FlowGateway IP address along with Success or Failure for init operation.

Update: Start Update

Start the software update on all the connected FlowGateways. The operation is asynchronous. This operation is asynchronous. Please monitor the final status of Software Update operation using /api/mgmt.common_update/1.0/update api

POST https://{device}/api/mgmt.common_update/1.0/update/start
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  string
]

Example:
[
  "10.1.x.x - Operation Failed", 
  "10.2.x.x - Operation Successfull"
]
Property Name Type Description Notes
StartUpdateResult <array of <string>> Results of initialization operation for all connected FlowGateways.
StartUpdateResult[item] <string> Displays FlowGateway IP address along with Success or Failure for start update operation.

Error Codes

In the event that an error occurs while processing a request, the server will respond with appropriate HTTP status code and additional information in the response body:

{
     "error_id":   "{error identifier}",
     "error_text": "{error description}",
     "error_info": {error specific data structure, optional}
}

The table below lists the possible errors and the associated HTTP status codes that may returned.

Error ID HTTP Status Comments
BAD_REQUEST 400 Invalid argument.
AUTH_REQUIRED 401 Authentication required.
AUTH_INVALID_CREDENTIALS 401 Make sure the user name is correct and type your password again. Be sure to use the correct case for the user name and password.
HTTP_INVALID_METHOD 405 Requested method is not available for this resource.