Alignment to latest IFA005 specification 93/11993/7
authorArturo.Martin <arturo.martin-de-nicolas@ericsson.com>
Thu, 7 Apr 2016 13:14:18 +0000 (15:14 +0200)
committerArturoMartin <Arturo.Martin-de-Nicolas@ericsson.com>
Wed, 29 Jun 2016 10:47:18 +0000 (12:47 +0200)
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 <Arturo.Martin-de-Nicolas@ericsson.com>
docs/requirements/NB_interface.rst
docs/requirements/revision.rst

index b92bee6..8dba601 100644 (file)
@@ -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",
+       }
index 2c8c48a..cd0b76b 100644 (file)
@@ -38,4 +38,6 @@ ANNEX D: Document revision
 |         | JIRA: PROMISE-64                        |
 |         |  - Promise userguide                    |
 +---------+-----------------------------------------+
-
+| 1.0.8   | JIRA: PROMISE-11                        |
+|         |  - Alignment to ETSI NVF Specs          |
++---------+-----------------------------------------+