Chapter 1 Controller REST API overview

The Controller REST API is distributed across 3 distinct namespaces: core (/sdn/v2.0), openflow (/sdn/v2.0/of), and network services (/sdn/v2.0/net). Each namespace has its own JSON schema to describe the JSON data format and can be accessed directly at the URL /sdn/v2.0/models.

The core APIs provide general manageability of the controller, such as configuration, health monitoring, teaming, alerts, audit logs, support logs, etc.

The openflow APIs provide Openflow functionalities of the controller, including both read-only operations (such as port statistics) and modification operations (such as flowmod). The same REST API can be used on both Openflow 1.0 and Openflow 1.3 devices. However, only certain APIs (such as meters) are available when speaking to an Openflow 1.3 device, because the functionality is only available for Openflow 1.3 devices.

The network services APIs provide basic network knowledge such as network topology information and network diagnostics.

Authentication is done using the POST /auth API and a Keystone username/password pair. The API returns an X-Auth token upon success, which is then sent via the X-Auth-Token header in all authenticated API requests.

All Controller REST APIs are assumed to be authenticated unless otherwise noted.

All Controller REST APIs are assumed to be synchronous, unless otherwise noted.

New and changed information

The following table contains a list of APIs that were added, changed, or removed from the HP VAN SDN Controller 2.2 REST APIs.

APIMethodChangeDescription
/authPOST, DELETEAddedThe functionality of these APIs has not changed. The descriptions of these APIs were added to this reference.

/team/action

POST

Removed

No longer needed with new team API.
/team/* ModifiedChanged the response data of all /team APIs to reflect new team API changes by removing the name, and priority keys, and changing the systems key to members, and the version key to revision.

/systems/{system_uid}/action

POST

Removed

Moved to /backup and /restore POST actions.

/systems/{system_uid}/backup

GET

Removed

Functionality has moved to the /backup API.

/systems/{system_uid}/backup

POST

Removed

Functionality has moved to the /restore API.

/backups/{session_uid}

GET

Removed

Moved to /backup/* APIs. Use the /backup/* APIs to access the current backup without requiring a session_uid. NOTE: This API’s name has changed from backups (plural) to backup (singular).

/backup/status

GET

Added

The previous functionality of /backups/{session_id} has been moved to /backup/status. Gets information about the most recent or ongoing backup operation.

/backup/checksum

GET

Added

Added functionality to get the SHA-256 checksum of the latest backup.

/backup/

GET

Added

Replaces the /systems/{system_uid}/backup API. Gets the byte-stream of the current backup file.

/backup/

POST

Added

Replaces the /systems/{system_uid}/backup API. Starts the backup of system configurations.

/restore

POST

Added

Replaces the /systems/{system_uid}/backup API. Starts the restore of the backed-up system configurations.

/restore/status

GET

Added

Replaces the /systems/{system_uid}/backup API. Gets the status of the latest or ongoing restore.

/restore/backup

POST

Added

Replaces the /systems/{system_uid}/backup API. Uploads a backup file to be used for the restore. NOTE: This does not start the restore.

/of/datapaths/{dpid}/portsGETAddedThe functionality of these APIs has not changed. The descriptions of these APIs were added to this reference.

/net/devices/*

 

Added

New API for devices

/net/keys/*

 

Added

New API for keys

/net/arp/*

 

Removed

All of the information that was previously available via the /net/arp API is available via the /net/nodes API, making the /net/arp API redundant.

/net/lldp/*

 

Removed

The API allowed users to configure a list of ports for which LLDP packets would be suppressed, however the controller no longer sends LLDP packets, rendering the API obsolete.

/licenses/islicensedGETAddedNew API for licenses
/licenses/complianceGETAddedNew API for licenses