From 253d8028d755d587bdaad4cdb27dc91922d29721 Mon Sep 17 00:00:00 2001 From: "Arturo.Martin" Date: Thu, 7 Apr 2016 15:14:18 +0200 Subject: Alignment to latest IFA005 specification This patch proposes updates in chapter 7 to align to the latest version of ETSI NFV IFA005. JIRA:PROMISE-11 Change-Id: I2818bca117955d03d0d9cc1395f461215a06b3ed Signed-off-by: Arturo.Martin --- docs/requirements/NB_interface.rst | 333 ++++++++++++++++++++++++++++--------- docs/requirements/revision.rst | 4 +- 2 files changed, 254 insertions(+), 83 deletions(-) diff --git a/docs/requirements/NB_interface.rst b/docs/requirements/NB_interface.rst index b92bee6..8dba601 100644 --- a/docs/requirements/NB_interface.rst +++ b/docs/requirements/NB_interface.rst @@ -46,19 +46,16 @@ Subscription from Consumer to VIM to be notified about compute capacity changes { "zoneId": "12345", - "resourceDescriptor": [ - { - "computeResourceTypeId": "vcInstances" - } - ], - "threshold": [ - { + "computeResourceTypeId": "vcInstances", + "threshold": { + "thresholdType" : "absoluteValue", + "threshold": { "capacity_info": "available", "condition": "lt", "value": 5 - } - ] - } + } + } + } **Example response**: @@ -72,10 +69,10 @@ Subscription from Consumer to VIM to be notified about compute capacity changes "capacityChangeSubscriptionId": "abcdef-ghijkl-123456789" } - :statuscode 400: resourceDescriptor is missing + :statuscode 400: computeResourceTypeId is missing -Query Compute Capacity -"""""""""""""""""""""" +Query Compute Capacity for a defined resource type +"""""""""""""""""""""""""""""""""""""""""""""""""" Request to find out about available, reserved, total and allocated compute capacity. @@ -92,9 +89,7 @@ capacity. { "zoneId": "12345", - "resourceDescriptor": { - "computeResourceTypeId": "vcInstances" - }, + "computeResourceTypeId": "vcInstances", "timePeriod": { "startTime": "2015-09-21T00:00:00Z", "stopTime": "2015-09-21T00:05:30Z" @@ -122,6 +117,54 @@ capacity. :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 """""""""""""""""""""""""""""""""""" @@ -199,7 +242,7 @@ Request the reservation of compute resource capacity } } -and/or virtualized containers +or virtualization containers .. http:post:: reservation/compute/create :noindex: @@ -226,7 +269,7 @@ and/or virtualized containers "numaEnabled": "False", "virtualMemSize": 16 }, - "virtualStorage": { + "storageAttributes": { "typeOfStorage": "volume", "sizeOfStorage": 16 } @@ -250,20 +293,21 @@ and/or virtualized containers "virtualizationContainerReserved": [ { "containerId": "myContainer", - "containerFlavor": { - "flavorId": "myFlavor", - "virtualCpu": { - "numVirtualCpu": 2, - "cpuArchitecture": "x86" - }, - "virtualMemory": { - "numaEnabled": "False", - "virtualMemSize": 16 - }, - "virtualStorage": { - "typeOfStorage": "volume", - "sizeOfStorage": 16 - } + "flavorId": "myFlavor", + "virtualCpu": { + "numVirtualCpu": 2, + "cpuArchitecture": "x86" + }, + "virtualMemory": { + "numaEnabled": "False", + "virtualMemSize": 16 + }, + "virtualDisks": { + "storageId": "myStorage", + "flavourId": "myStorageFlavour", + "typeOfStorage": "volume", + "sizeOfStorage": 16, + "operationalState": "enabled" } } ] @@ -305,7 +349,7 @@ access to. Content-Type: application/json { - "reservationData": + "queryResult": { "startTime": "2015-09-21T01:00:00Z", "reservationStatus": "active", @@ -371,6 +415,83 @@ 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 ----------------------------- @@ -393,18 +514,15 @@ Susbcription from Consumer to VIM to be notified about network capacity changes Accept: application/json { - "resourceDescriptor": [ - { - "networkResourceTypeId": "publicIps" - } - ], - "threshold": [ - { - "capacity_info": "available", - "condition": "lt", - "value": 5 - } - ] + "networkResourceTypeId": "publicIps", + "threshold": { + "thresholdType": "absoluteValue", + "threshold": { + "capacity_info": "available", + "condition": "lt", + "value": 5 + } + } } **Example response**: @@ -436,9 +554,7 @@ capacity. Accept: application/json { - "resourceDescriptor": { - "networkResourceTypeId": "publicIps" - }, + "networkResourceTypeId": "publicIps", "timePeriod": { "startTime": "2015-09-28T00:00:00Z", "stopTime": "2015-09-28T00:05:30Z" @@ -528,12 +644,10 @@ network ports "startTime": "2015-09-28T01:00:00Z", "reservationStatus": "initialized", "reservationId": "wwww-xxxx-yyyy", - "networkReserved": { - "publicIps": [ - "10.2.91.60", - "10.2.91.61" - ] - } + "publicIps": [ + "10.2.91.60", + "10.2.91.61" + ] } } @@ -569,11 +683,11 @@ access to. Content-Type: application/json { - "reservationData": { + "queryResult": { "startTime": "2015-09-28T01:00:00Z", "reservationStatus": "active", "reservationId": "wwww-xxxx-yyyy", - "networkReserved": "publicIps": [ + "publicIps": [ "10.2.91.60", "10.2.91.61" ] @@ -612,12 +726,10 @@ Request to update network resource reservation "startTime": "2015-09-21T16:00:00Z", "reservationStatus": "active", "reservationId": "wwww-xxxx-yyyy", - "networkReserved": { - "publicIps": [ - "10.2.91.60", - "10.2.91.61" - ] - } + "publicIps": [ + "10.2.91.60", + "10.2.91.61" + ] } } @@ -627,11 +739,20 @@ Terminate Network Resource Reservation Request to terminate a network resource reservation .. http:delete:: /reservation/network/(reservation_id) - :noindex: + :noindex: + **Example response**: -Virtualised Storage Resources + .. sourcecode:: http + + HTTP/1.1 200 + Content-Type: application/json + { + "reservationId": "xxxx-yyyy-zzzz", + } + +Virtualised Storage Resources ----------------------------- Storage Capacity Management @@ -653,18 +774,15 @@ Subscription from Consumer to VIM to be notified about storage capacity changes Accept: application/json { - "resourceDescriptor": [ - { - "storageResourceTypeId": "volumes" + "storageResourceTypeId": "volumes", + "threshold": { + "thresholdType": "absoluteValue", + "threshold": { + "capacity_info": "available", + "condition": "lt", + "value": 3 } - ], - "threshold": [ - { - "capacity_info": "available", - "condition": "lt", - "value": 3 - } - ] + } } **Example response**: @@ -679,8 +797,8 @@ Subscription from Consumer to VIM to be notified about storage capacity changes "capacityChangeSubscriptionId": "cdefgh-ijklmn-345678901" } -Query Storage Capacity -"""""""""""""""""""""" +Query Storage Capacity for a defined resource type +"""""""""""""""""""""""""""""""""""""""""""""""""" Request to find out about available, reserved, total and allocated storage capacity. @@ -696,9 +814,7 @@ capacity. Accept: application/json { - "resourceDescriptor": { - "storageResourceTypeId": "volumes" - }, + "storageResourceTypeId": "volumes", "timePeriod": { "startTime": "2015-09-28T12:00:00Z", "stopTime": "2015-09-28T12:04:45Z" @@ -722,6 +838,48 @@ capacity. } } +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 """""""""""""""""""""""""""""""""""" @@ -829,7 +987,7 @@ access to. Content-Type: application/json { - "reservationData": { + "queryResult": { "startTime": "2015-09-28T13:00:00Z", "reservationStatus": "active", "reservationId": "vvvv-wwww-xxxx", @@ -889,4 +1047,15 @@ Terminate Storage Resource Reservation Request to terminate a storage resource reservation .. http:delete:: /reservation/storage/(reservation_id) - :noindex: + :noindex: + + **Example response**: + + .. sourcecode:: http + + HTTP/1.1 200 + Content-Type: application/json + + { + "reservationId": "xxxx-yyyy-zzzz", + } diff --git a/docs/requirements/revision.rst b/docs/requirements/revision.rst index 2c8c48a..cd0b76b 100644 --- a/docs/requirements/revision.rst +++ b/docs/requirements/revision.rst @@ -38,4 +38,6 @@ ANNEX D: Document revision | | JIRA: PROMISE-64 | | | - Promise userguide | +---------+-----------------------------------------+ - +| 1.0.8 | JIRA: PROMISE-11 | +| | - Alignment to ETSI NVF Specs | ++---------+-----------------------------------------+ -- cgit 1.2.3-korg