summaryrefslogtreecommitdiffstats
path: root/docs/requirements/NB_interface.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/requirements/NB_interface.rst')
-rw-r--r--docs/requirements/NB_interface.rst1061
1 files changed, 0 insertions, 1061 deletions
diff --git a/docs/requirements/NB_interface.rst b/docs/requirements/NB_interface.rst
deleted file mode 100644
index 8dba601..0000000
--- a/docs/requirements/NB_interface.rst
+++ /dev/null
@@ -1,1061 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _northbound_API:
-
-Detailed northbound interface specification
-===========================================
-
-.. Note::
- This is Work in Progress.
-
-ETSI NFV IFA Information Models
--------------------------------
-
-Compute Flavor
-^^^^^^^^^^^^^^
-
-A compute flavor includes information about number of virtual CPUs, size of
-virtual memory, size of virtual storage, and virtual network interfaces
-[NFVIFA005]_.
-
-.. figure:: images/computeflavor.png
- :name: computeflavor
- :width: 90%
-
-Virtualised Compute Resources
------------------------------
-
-Compute Capacity Management
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Subscribe Compute Capacity Change Event
-"""""""""""""""""""""""""""""""""""""""
-
-Subscription from Consumer to VIM to be notified about compute capacity changes
-
-.. http:post:: /capacity/compute/subscribe
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /capacity/compute/subscribe HTTP/1.1
- Accept: application/json
-
- {
- "zoneId": "12345",
- "computeResourceTypeId": "vcInstances",
- "threshold": {
- "thresholdType" : "absoluteValue",
- "threshold": {
- "capacity_info": "available",
- "condition": "lt",
- "value": 5
- }
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "created": "2015-09-21T00:00:00Z",
- "capacityChangeSubscriptionId": "abcdef-ghijkl-123456789"
- }
-
- :statuscode 400: computeResourceTypeId is missing
-
-Query Compute Capacity for a defined resource type
-""""""""""""""""""""""""""""""""""""""""""""""""""
-
-Request to find out about available, reserved, total and allocated compute
-capacity.
-
-.. http:get:: /capacity/compute/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /capacity/compute/query HTTP/1.1
- Accept: application/json
-
- {
- "zoneId": "12345",
- "computeResourceTypeId": "vcInstances",
- "timePeriod": {
- "startTime": "2015-09-21T00:00:00Z",
- "stopTime": "2015-09-21T00:05:30Z"
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "zoneId": "12345",
- "lastUpdate": "2015-09-21T00:03:20Z",
- "capacityInformation": {
- "available": 4,
- "reserved": 17,
- "total": 50,
- "allocated": 29
- }
- }
-
- :query limit: Default is 10.
- :statuscode 404: resource zone unknown
-
-
-Query Compute Capacity with required attributes
-"""""""""""""""""""""""""""""""""""""""""""""""
-Request to find out available compute capacity with given characteristics
-
-.. http:get:: /capacity/compute/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /capacity/compute/query HTTP/1.1
- Accept: application/json
-
- {
- "zoneId": "12345",
- "resourceCriteria": {
- "virtualCPU": {
- "cpuArchitecture": "x86",
- "numVirtualCpu": 8
- }
- },
- "attributeSelector": "available",
- "timePeriod": {
- "startTime": "2015-09-21T00:00:00Z",
- "stopTime": "2015-09-21T00:05:30Z"
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "zoneId": "12345",
- "lastUpdate": "2015-09-21T00:03:20Z",
- "capacityInformation": {
- "available": 50
- }
- }
-
- :query limit: Default is 10.
- :statuscode 404: resource zone unknown
-
-Notify Compute Capacity Change Event
-""""""""""""""""""""""""""""""""""""
-
-Notification about compute capacity changes
-
-.. http:post:: /capacity/compute/notification
- :noindex:
-
- **Example notification**:
-
- .. sourcecode:: http
-
- Content-Type: application/json
-
- {
- "zoneId": "12345",
- "notificationId": "zyxwvu-tsrqpo-987654321",
- "capacityChangeTime": "2015-09-21T00:03:20Z",
- "resourceDescriptor": {
- "computeResourceTypeId": "vcInstances"
- },
- "capacityInformation": {
- "available": 4,
- "reserved": 17,
- "total": 50,
- "allocated": 29
- }
- }
-
-Compute Resource Reservation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Create Compute Resource Reservation
-"""""""""""""""""""""""""""""""""""
-
-Request the reservation of compute resource capacity
-
-.. http:post:: /reservation/compute/create
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/compute/create HTTP/1.1
- Accept: application/json
-
- {
- "startTime": "2015-09-21T01:00:00Z",
- "computePoolReservation": {
- "numCpuCores": 20,
- "numVcInstances": 5,
- "virtualMemSize": 10
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-09-21T01:00:00Z",
- "reservationStatus": "initialized",
- "reservationId": "xxxx-yyyy-zzzz",
- "computePoolReserved": {
- "numCpuCores": 20,
- "numVcInstances": 5,
- "virtualMemSize": 10,
- "zoneId": "23456"
- }
- }
- }
-
-or virtualization containers
-
-.. http:post:: reservation/compute/create
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/compute/create HTTP/1.1
- Accept: application/json
-
- {
- "startTime": "2015-10-05T15:00:00Z",
- "virtualizationContainerReservation": [
- {
- "containerId": "myContainer",
- "containerFlavor": {
- "flavorId": "myFlavor",
- "virtualCpu": {
- "numVirtualCpu": 2,
- "cpuArchitecture": "x86"
- },
- "virtualMemory": {
- "numaEnabled": "False",
- "virtualMemSize": 16
- },
- "storageAttributes": {
- "typeOfStorage": "volume",
- "sizeOfStorage": 16
- }
- }
- }
- ]
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-10-05T15:00:00Z",
- "reservationId": "aaaa-bbbb-cccc",
- "reservationStatus": "initialized",
- "virtualizationContainerReserved": [
- {
- "containerId": "myContainer",
- "flavorId": "myFlavor",
- "virtualCpu": {
- "numVirtualCpu": 2,
- "cpuArchitecture": "x86"
- },
- "virtualMemory": {
- "numaEnabled": "False",
- "virtualMemSize": 16
- },
- "virtualDisks": {
- "storageId": "myStorage",
- "flavourId": "myStorageFlavour",
- "typeOfStorage": "volume",
- "sizeOfStorage": 16,
- "operationalState": "enabled"
- }
- }
- ]
- }
- }
-
-
-
-Query Compute Resource Reservation
-""""""""""""""""""""""""""""""""""
-
-Request to find out about reserved compute resources that the consumer has
-access to.
-
-.. http:get:: /reservation/compute/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /reservation/compute/query HTTP/1.1
- Accept: application/json
-
- {
- "queryReservationFilter": [
- {
- "reservationId": "xxxx-yyyy-zzzz"
- }
- ]
-
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "queryResult":
- {
- "startTime": "2015-09-21T01:00:00Z",
- "reservationStatus": "active",
- "reservationId": "xxxx-yyyy-zzzz",
- "computePoolReserved":
- {
- "numCpuCores": 20,
- "numVcInstances": 5,
- "virtualMemSize": 10,
- "zoneId": "23456"
- }
- }
- }
-
- :statuscode 404: reservation id unknown
-
-Update Compute Resource Reservation
-"""""""""""""""""""""""""""""""""""
-
-Request to update compute resource reservation
-
-.. http:post:: /reservation/compute/update
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/compute/update HTTP/1.1
- Accept: application/json
-
- {
- "startTime": "2015-09-14T16:00:00Z",
- "reservationId": "xxxx-yyyy-zzzz"
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-09-14TT16:00:00Z",
- "reservationStatus": "active",
- "reservationId": "xxxx-yyyy-zzzz",
- "computePoolReserved": {
- "numCpuCores": 20,
- "numVcInstances": 5,
- "virtualMemSize": 10,
- "zoneId": "23456"
- }
- }
- }
-
-Terminate Compute Resource Reservation
-""""""""""""""""""""""""""""""""""""""
-
-Request to terminate a compute resource reservation
-
-.. http:delete:: /reservation/compute/(reservation_id)
- :noindex:
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200
- Content-Type: application/json
-
- {
- "reservationId": "xxxx-yyyy-zzzz",
- }
-
-
-Subscribe Resource Reservation Change Event
-"""""""""""""""""""""""""""""""""""""""""""
-
-Subscription from Consumer to VIM to be notified about changes
-related to a reservation or to the resources associated to it.
-
-.. http:post:: /reservation/subscribe
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/subscribe HTTP/1.1
- Accept: application/json
-
- {
- "inputFilter": [
- {
- "reservationId": "xxxx-yyyy-zzzz",
- }
- ]
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "created": "2015-09-21T00:00:00Z",
- "reservationChangeSubscriptionId": "abcdef-ghijkl-123456789"
- }
-
- :statuscode 400: inputFilter is missing
-
-
-Notify Resource Reservation Change Event
-""""""""""""""""""""""""""""""""""""""""
-
-Notification about changes in a compute resource reservation
-
-.. http:post:: /capacity/compute/notification
- :noindex:
-
- **Example notification**:
-
- .. sourcecode:: http
-
- Content-Type: application/json
-
- {
- "changeId": "aaaaaa-btgxxx-987654321",
- "reservationId": "xxxx-yyyy-zzzz",
- "vimId": "vim-CX-03"
- "changeType": "Reservation time change"
- "changedReservationData": {
- "endTime": "2015-10-14TT16:00:00Z",
- }
- }
-
-
-
-Virtualised Network Resources
------------------------------
-
-Network Capacity Management
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Subscribe Network Capacity Change Event
-"""""""""""""""""""""""""""""""""""""""
-
-Susbcription from Consumer to VIM to be notified about network capacity changes
-
-.. http:post:: /capacity/network/subscribe
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /capacity/network/subscribe HTTP/1.1
- Accept: application/json
-
- {
- "networkResourceTypeId": "publicIps",
- "threshold": {
- "thresholdType": "absoluteValue",
- "threshold": {
- "capacity_info": "available",
- "condition": "lt",
- "value": 5
- }
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "created": "2015-09-28T00:00:00Z",
- "capacityChangeSubscriptionId": "bcdefg-hijklm-234567890"
- }
-
-Query Network Capacity
-""""""""""""""""""""""
-
-Request to find out about available, reserved, total and allocated network
-capacity.
-
-.. http:get:: /capacity/network/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /capacity/network/query HTTP/1.1
- Accept: application/json
-
- {
- "networkResourceTypeId": "publicIps",
- "timePeriod": {
- "startTime": "2015-09-28T00:00:00Z",
- "stopTime": "2015-09-28T00:05:30Z"
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "lastUpdate": "2015-09-28T00:02:10Z",
- "capacityInformation": {
- "available": 4,
- "reserved": 10,
- "total": 64,
- "allocated": 50
- }
- }
-
-Notify Network Capacity Change Event
-""""""""""""""""""""""""""""""""""""
-
-Notification about network capacity changes
-
-.. http:post:: /capacity/network/notification
- :noindex:
-
- **Example notification**:
-
- .. sourcecode:: http
-
- Content-Type: application/json
-
- {
- "notificationId": "yxwvut-srqpon-876543210",
- "capacityChangeTime": "2015-09-28T00:02:10Z",
- "resourceDescriptor": {
- "networkResourceTypeId": "publicIps"
- },
- "capacityInformation": {
- "available": 4,
- "reserved": 10,
- "total": 64,
- "allocated": 50
- }
- }
-
-Network Resource Reservation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Create Network Resource Reservation
-"""""""""""""""""""""""""""""""""""
-
-Request the reservation of network resource capacity and/or virtual networks,
-network ports
-
-.. http:post:: /reservation/network/create
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/network/create HTTP/1.1
- Accept: application/json
-
- {
- "startTime": "2015-09-28T01:00:00Z",
- "networkReservation": {
- "numPublicIps": 2
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-09-28T01:00:00Z",
- "reservationStatus": "initialized",
- "reservationId": "wwww-xxxx-yyyy",
- "publicIps": [
- "10.2.91.60",
- "10.2.91.61"
- ]
- }
- }
-
-Query Network Resource Reservation
-""""""""""""""""""""""""""""""""""
-
-Request to find out about reserved network resources that the consumer has
-access to.
-
-.. http:get:: /reservation/network/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /reservation/network/query HTTP/1.1
- Accept: application/json
-
- {
- "queryReservationFilter": [
- {
- "reservationId": "wwww-xxxx-yyyy"
- }
- ]
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "queryResult": {
- "startTime": "2015-09-28T01:00:00Z",
- "reservationStatus": "active",
- "reservationId": "wwww-xxxx-yyyy",
- "publicIps": [
- "10.2.91.60",
- "10.2.91.61"
- ]
- }
- }
-
-Update Network Resource Reservation
-"""""""""""""""""""""""""""""""""""
-
-Request to update network resource reservation
-
-.. http:post:: /reservation/network/update
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/network/update HTTP/1.1
- Accept: application/json
-
- {
- "startTime": "2015-09-21T16:00:00Z",
- "reservationId": "wwww-xxxx-yyyy"
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-09-21T16:00:00Z",
- "reservationStatus": "active",
- "reservationId": "wwww-xxxx-yyyy",
- "publicIps": [
- "10.2.91.60",
- "10.2.91.61"
- ]
- }
- }
-
-Terminate Network Resource Reservation
-""""""""""""""""""""""""""""""""""""""
-
-Request to terminate a network resource reservation
-
-.. http:delete:: /reservation/network/(reservation_id)
- :noindex:
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200
- Content-Type: application/json
-
- {
- "reservationId": "xxxx-yyyy-zzzz",
- }
-
-Virtualised Storage Resources
------------------------------
-
-Storage Capacity Management
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Subscribe Storage Capacity Change Event
-"""""""""""""""""""""""""""""""""""""""
-
-Subscription from Consumer to VIM to be notified about storage capacity changes
-
-.. http:post:: /capacity/storage/subscribe
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /capacity/storage/subscribe HTTP/1.1
- Accept: application/json
-
- {
- "storageResourceTypeId": "volumes",
- "threshold": {
- "thresholdType": "absoluteValue",
- "threshold": {
- "capacity_info": "available",
- "condition": "lt",
- "value": 3
- }
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "created": "2015-09-28T12:00:00Z",
- "capacityChangeSubscriptionId": "cdefgh-ijklmn-345678901"
- }
-
-Query Storage Capacity for a defined resource type
-""""""""""""""""""""""""""""""""""""""""""""""""""
-
-Request to find out about available, reserved, total and allocated storage
-capacity.
-
-.. http:get:: /capacity/storage/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /capacity/storage/query HTTP/1.1
- Accept: application/json
-
- {
- "storageResourceTypeId": "volumes",
- "timePeriod": {
- "startTime": "2015-09-28T12:00:00Z",
- "stopTime": "2015-09-28T12:04:45Z"
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "lastUpdate": "2015-09-28T12:01:35Z",
- "capacityInformation": {
- "available": 2,
- "reserved": 4,
- "total": 10,
- "allocated": 4
- }
- }
-
-Query Storage Capacity with required attributes
-"""""""""""""""""""""""""""""""""""""""""""""""
-
-Request to find out available capacity.
-
-.. http:get:: /capacity/storage/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /capacity/storage/query HTTP/1.1
- Accept: application/json
-
- {
- "resourceCriteria": {
- "typeOfStorage" : "volume",
- "sizeOfStorage" : 200,
- "rdmaSupported" : "True",
- },
- "attributeSelector": "available",
- "timePeriod": {
- "startTime": "2015-09-28T12:00:00Z",
- "stopTime": "2015-09-28T12:04:45Z"
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "lastUpdate": "2015-09-28T12:01:35Z",
- "capacityInformation": {
- "available": 2
- }
- }
-
-Notify Storage Capacity Change Event
-""""""""""""""""""""""""""""""""""""
-
-Notification about storage capacity changes
-
-.. http:post:: /capacity/storage/notification
- :noindex:
-
- **Example notification**:
-
- .. sourcecode:: http
-
- Content-Type: application/json
-
- {
- "notificationId": "xwvuts-rqponm-765432109",
- "capacityChangeTime": "2015-09-28T12:01:35Z",
- "resourceDescriptor": {
- "storageResourceTypeId": "volumes"
- },
- "capacityInformation": {
- "available": 2,
- "reserved": 4,
- "total": 10,
- "allocated": 4
- }
- }
-
-Storage Resource Reservation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Create Storage Resource Reservation
-"""""""""""""""""""""""""""""""""""
-
-Request the reservation of storage resource capacity
-
-.. http:post:: /reservation/storage/create
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/storage/create HTTP/1.1
- Accept: application/json
-
- {
- "startTime": "2015-09-28T13:00:00Z",
- "storagePoolReservation": {
- "storageSize": 10,
- "numSnapshots": 3,
- "numVolumes": 2
- }
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-09-28T13:00:00Z",
- "reservationStatus": "initialized",
- "reservationId": "vvvv-wwww-xxxx",
- "storagePoolReserved": {
- "storageSize": 10,
- "numSnapshots": 3,
- "numVolumes": 2
- }
- }
- }
-
-Query Storage Resource Reservation
-""""""""""""""""""""""""""""""""""
-
-Request to find out about reserved storage resources that the consumer has
-access to.
-
-.. http:get:: /reservation/storage/query
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- GET /reservation/storage/query HTTP/1.1
- Accept: application/json
-
- {
- "queryReservationFilter": [
- {
- "reservationId": "vvvv-wwww-xxxx"
- }
- ]
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200 OK
- Content-Type: application/json
-
- {
- "queryResult": {
- "startTime": "2015-09-28T13:00:00Z",
- "reservationStatus": "active",
- "reservationId": "vvvv-wwww-xxxx",
- "storagePoolReserved": {
- "storageSize": 10,
- "numSnapshots": 3,
- "numVolumes": 2
- }
- }
- }
-
-Update Storage Resource Reservation
-"""""""""""""""""""""""""""""""""""
-
-Request to update storage resource reservation
-
-.. http:post:: /reservation/storage/update
- :noindex:
-
- **Example request**:
-
- .. sourcecode:: http
-
- POST /reservation/storage/update HTTP/1.1
- Accept: application/json
-
-
- {
- "startTime": "2015-09-20T23:00:00Z",
- "reservationId": "vvvv-wwww-xxxx"
-
- }
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 201 CREATED
- Content-Type: application/json
-
- {
- "reservationData": {
- "startTime": "2015-09-20T23:00:00Z",
- "reservationStatus": "active",
- "reservationId": "vvvv-wwww-xxxx",
- "storagePoolReserved": {
- "storageSize": 10,
- "numSnapshots": 3,
- "numVolumes": 2
- }
- }
- }
-
-Terminate Storage Resource Reservation
-""""""""""""""""""""""""""""""""""""""
-
-Request to terminate a storage resource reservation
-
-.. http:delete:: /reservation/storage/(reservation_id)
- :noindex:
-
- **Example response**:
-
- .. sourcecode:: http
-
- HTTP/1.1 200
- Content-Type: application/json
-
- {
- "reservationId": "xxxx-yyyy-zzzz",
- }