Merge "Fix vfc-lcm heal func bug"
authorFu Jinhua <fu.jinhua@zte.com.cn>
Thu, 9 Nov 2017 12:56:34 +0000 (12:56 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 9 Nov 2017 12:56:34 +0000 (12:56 +0000)
docker/build_image.sh
docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst
docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst
docs/platform/APIs/index.rst
lcm/swagger/vfc.vnfdriver.swagger.json
pom.xml
version.properties

index ec4ccff..027d54d 100755 (executable)
@@ -6,7 +6,7 @@ cd ${DOCKER_BUILD_DIR}
 
 BUILD_ARGS="--no-cache"
 ORG="onap"
-VERSION="1.0.0"
+VERSION="1.0.1"
 PROJECT="vfc"
 IMAGE="nslcm"
 DOCKER_REPOSITORY="nexus3.onap.org:10003"
index c6db432..8d9cff6 100644 (file)
@@ -2,14 +2,14 @@
    :depth: 3\r
 ..\r
 \r
-   **VNFM API**\r
+   **GVNFM Northbound & Southbound APIs**\r
    **V0.1**\r
 \r
 **1 Scope**\r
 =============\r
 \r
-    The scope of the present document is to describe the VNFM exposed\r
-    API specification over Or-Vnfm Reference Point.\r
+    The scope of the present document is to describe the GVNFM exposed\r
+    API specification over Or-Vnfm reference point and Ve-Vnfm-vnf reference point.\r
 \r
 **2 Terms, Definitions and Abbreviations**\r
 ===========================================\r
@@ -29,7 +29,7 @@
 \r
 Table 2-1 abbreviations\r
 \r
-**3. Interfaces provided by VNFM**  (Or-Vnfm/Ve-Vnfm-vnf\r
+**3. Interfaces provided by GVNFM**  (Or-Vnfm\r
 ==========================================================\r
 \r
    Interfaces use RESTful API and the format is as follows:\r
index f7a9c67..c289626 100644 (file)
@@ -7,7 +7,7 @@
 \r
 **1.  Scope**\r
 ==============\r
-The scope of the present document is to describe the VNFM Driver exposed API specification.\r
+The scope of the present document is to describe the VNFM driver integrated related API specification.\r
 \r
 **2.  Terms, Definitions and Abbreviations**\r
 =============================================\r
@@ -34,7 +34,7 @@ Interfaces use RESTful API and the format is as follows:
 http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfm_id}/[……]\r
 R1 vnfmtype:\r
 zte-vnfm\r
-fw-vnfm\r
+hw-vnfm\r
 juju\r
 \r
 **3.1  Instantiate VNF**\r
@@ -71,11 +71,11 @@ juju
 |                       |            |             |          | description  of  the  VNF    |\r
 |                       |            |             |          | instance to be created.      |\r
 +-----------------------+------------+-------------+----------+------------------------------+\r
-| extVirtualLink        | M          | 0..N        | String   | References  to  external     |\r
-|                       |            |             |          | virtual links to connect the |\r
-|                       |            |             |          | VNF to.                      |\r
+| extVirtualLink        | M          | 0..N        | Ext      | References  to  external     |\r
+|                       |            |             | Virtual  | virtual links to connect the |\r
+|                       |            |             | LinkData | VNF to.                      |\r
 +-----------------------+------------+-------------+----------+------------------------------+\r
-| additionalParam       | M          | 0..N        | String   |Additional  parameters        |\r
+| additionalParam       | M          | 0..N        | Object   |Additional  parameters        |\r
 |                       |            |             |          |passed  by  the  NFVO  as     |\r
 |                       |            |             |          |input  to  the  instantiation |\r
 |                       |            |             |          |process,  specific  to  the   |\r
@@ -130,7 +130,7 @@ juju
 +--------------+------------+-------------+----------+-------------------------------+\r
 | Attribute    | Qualifier  | Cardinality | Content  | Description                   |\r
 +==============+============+=============+==========+===============================+\r
-| vimType      | M          | 1           | String   | vim                           |\r
+| vimType      | M          | 1           | String   | Type of the VIM               |\r
 +--------------+------------+-------------+----------+-------------------------------+\r
 | apiVersion   | M          | 1           | String   |                               |\r
 +--------------+------------+-------------+----------+-------------------------------+\r
@@ -168,7 +168,7 @@ juju
         "vimid":"1", \r
         "interfaceInfo":{\r
 \r
-          "vimType":"vim",\r
+          "vimType":"openstack",\r
           "apiVersion":"v2",\r
           "protocolType":"http"\r
 \r
@@ -197,17 +197,17 @@ juju
 \r
 **3.1.2  Response**\r
 \r
-+--------------+------------+-------------+-----------+-------------------------------+\r
-| Parameter    | Qualifier  | Cardinality | Content   | Description                   |\r
-+==============+============+=============+===========+===============================+\r
-| jobId        | M          | 1           | Identifier| Tenant Name of tenant         |\r
-|              |            |             |           | operation occurrence.         |\r
-|              |            |             |           |                               |\r
-|              |            |             |           | [lifecycleOperationOccurren   |\r
-|              |            |             |           |  ceId]                        |\r
-+--------------+------------+-------------+-----------+-------------------------------+\r
-| password     | M          | 1           | String    | Password of login user        |\r
-+--------------+------------+-------------+-----------+-------------------------------+\r
++-------------------+------------+-------------+-----------+-------------------------------+\r
+| Parameter         | Qualifier  | Cardinality | Content   | Description                   |\r
++===================+============+=============+===========+===============================+\r
+| jobId             | M          | 1           | Identifier| Tenant Name of tenant         |\r
+|                   |            |             |           | operation occurrence.         |\r
+|                   |            |             |           |                               |\r
+|                   |            |             |           | [lifecycleOperationOccurren   |\r
+|                   |            |             |           |  ceId]                        |\r
++-------------------+------------+-------------+-----------+-------------------------------+\r
+| vnfInstanceId     | M          | 1           | String    | VNF instance identifier.      |\r
++-------------------+------------+-------------+-----------+-------------------------------+\r
 \r
 {\r
   "jobId":"1",\r
@@ -340,7 +340,6 @@ VNF filter: vnfInstanceId via url [R1]
 |              |            |             |           | attributeSelector will be       |\r
 |              |            |             |           | returned for the selected       |\r
 |              |            |             |           | VNF instance(s).                |\r
-|              |            |             |           | See note.                       |\r
 +--------------+------------+-------------+-----------+---------------------------------+\r
 \r
 **VnfInfo Table**\r
@@ -350,7 +349,7 @@ VNF filter: vnfInstanceId via url [R1]
 +=================+============+=============+==========+=================================+\r
 | vnfInstanceId   | M          | 1           | String   | VNF instance identifier.        |\r
 +-----------------+------------+-------------+----------+---------------------------------+\r
-| vnfInstanceName | M          | o..1        | String   | VNF instance name. See note.    |\r
+| vnfInstanceName | M          | o..1        | String   | VNF instance name.              |\r
 +-----------------+------------+-------------+----------+---------------------------------+\r
 | vnfInstance     | M          | o..1        | String   | Human-readable description of   |\r
 | Description     |            |             |          | the VNF instance.               |\r
@@ -511,7 +510,7 @@ VNF filter: vnfInstanceId via url [R1]
 |               |            |             |             | declared in the VNFD. See note 1.           |\r
 +---------------+------------+-------------+-------------+---------------------------------------------+\r
 | aspectId      | M          | 1           | Identifier  | Identifies the aspect of the VNF that is    |\r
-|               |            |             |             | requested to be scaled, as declared in the  |\r
+|               |            |             |             | requested to be scaled                      |\r
 +---------------+------------+-------------+-------------+---------------------------------------------+\r
 | numberOfSteps | M          | 1           | Integer     | Number of scaling steps to be executed as   |\r
 |               |            |             |             | part of this ScaleVnf operation. It shall   |\r
@@ -532,7 +531,7 @@ VNF filter: vnfInstanceId via url [R1]
 |        scaling (scale up, scale down) is not supported in the present document.                      |\r
 |        SCALE_IN designates scaling in.                                                               |\r
 |        SCALE_OUT 1 designates scaling out.                                                           |\r
-| NOTE 2:  A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling |\r
+| NOTE 2: A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling  |\r
 |          aspect.                                                                                     |\r
 +------------------------------------------------------------------------------------------------------+\r
 \r
@@ -614,7 +613,7 @@ VNF filter: vnfInstanceId via url [R1]
     "vduid": "vdu_100",\r
     "vmname": "ZTE_SSS_111_PP_2_L"\r
 \r
-  },\r
+  }\r
 \r
 }\r
 \r
@@ -631,3 +630,237 @@ VNF filter: vnfInstanceId via url [R1]
   "jobId":"1"\r
 \r
 }\r
+\r
+\r
+**4.  Interfaces provided by VFC to integrate with VNFM driver**\r
+===========================================\r
+\r
+\r
+**4.1  VNF Lifecycle Operation Granting Interface**\r
+------------------------\r
+\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/nslcm/v1/ns/grantvnf             |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  POST                                                            |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  VNFMDriver -> NSLCM                                             |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.1.1  Request**\r
+\r
+\r
+{\r
+  "vnfInstanceId": "string",\r
+  "vnfDescriptorId": "string",\r
+  "lifecycleOperation": "Terminal",\r
+  "jobId": "string",\r
+  "addResource": [\r
+    {\r
+      "type": "string",\r
+      "resourceDefinitionId": "string",\r
+      "vdu": "string"\r
+    }\r
+  ],\r
+  "removeResource": [\r
+    {\r
+      "type": "string",\r
+      "resourceDefinitionId": "string",\r
+      "vdu": "string"\r
+    }\r
+  ],\r
+  "additionalParam": {}\r
+}\r
+\r
+**4.1.2  Response**\r
+\r
+{\r
+  "vim": {\r
+    "vimInfoId": "string",\r
+    "vimId": "string",\r
+    "interfaceInfo": {\r
+      "vimType": "string",\r
+      "apiVersion": "string",\r
+      "protocolType": "string"\r
+    },\r
+    "accessInfo": {\r
+      "tenant": "string",\r
+      "username": "string",\r
+      "password": "string"\r
+    },\r
+    "interfaceEndpoint": "string"\r
+  }\r
+}\r
+\r
+**4.2  VNF LCM Notification Interface**\r
+------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/nslcm/v1/ns/{vnfmid}/vnfs/       |\r
+|               | {vnfInstanceId}/Notify                                           |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  POST                                                            |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  VNFMDriver -> NSLCM                                             |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.2.1  Request**\r
+\r
+{\r
+  "status": "result",\r
+  "vnfInstanceId": "string",\r
+  "operation": "Terminal",\r
+  "jobId": "string",\r
+  "affectedVnfc": [\r
+    {\r
+      "vnfcInstanceId": "string",\r
+      "vduId": "string",\r
+      "changeType": "added",\r
+      "vimid": "string",\r
+      "vmid": "string",\r
+      "vmname": "string"\r
+    }\r
+  ],\r
+  "affectedCp": [\r
+    {\r
+      "virtualLinkInstanceId": "string",\r
+      "cpinstanceid": "string",\r
+      "cpdid": "string",\r
+      "ownerType": "string",\r
+      "ownerId": "string",\r
+      "changeType": "added",\r
+      "portResource": {\r
+        "vimid": "string",\r
+        "resourceid": "string",\r
+        "resourceName": "string",\r
+        "tenant": "string",\r
+        "ipAddress": "string",\r
+        "macAddress": "string",\r
+        "instId": "string"\r
+      }\r
+    }\r
+  ],\r
+  "affectedVl": [\r
+    {\r
+      "vlInstanceId": "string",\r
+      "vldid": "string",\r
+      "changeType": "added",\r
+      "networkResource": {\r
+        "resourceType": "network",\r
+        "resourceId": "string"\r
+      }\r
+    }\r
+  ],\r
+  "affectedVirtualStorage": [\r
+    {}\r
+  ]\r
+}\r
+\r
+**4.2.2  Response**\r
+\r
+N/A\r
+\r
+\r
+**4.3  Query VNFM Register Info Interface**\r
+------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/nslcm/v1/vnfms/{vnfmid}          |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  GET                                                             |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  VNFMDriver -> NSLCM                                             |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.3.1  Request**\r
+N/A\r
+\r
+**4.3.2  Response**\r
+{\r
+  "vnfmId": "string",\r
+  "name": "string",\r
+  "type": "string",\r
+  "url": "string",\r
+  "userName": "string",\r
+  "password": "string",\r
+  "vimId": "string",\r
+  "vendor": "string",\r
+  "version": "string",\r
+  "description": "string",\r
+  "certificateUrl": "string",\r
+  "createTime": "string"\r
+}\r
+\r
+\r
+**4.4  Query VIM Register Info Interface**\r
+------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/nslcm/v1/vims/{vimid}            |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  GET                                                             |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  VNFMDriver -> NSLCM                                             |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.4.1  Request**\r
+N/A\r
+\r
+**4.4.2  Response**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter          | Qualifier  | Cardinality | Content     | Description                     |\r
++====================+============+=============+=============+=================================+\r
+| vimId              | M          | 1           | string      | The identifier of the VIM       |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| name               | M          | 1           | string      | The name of the VIM             | \r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| type               | M          | 1           | string      | The type of the VIM             |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| url                | M          | 1           | string      | The access URL of the VIM       |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| userName           | M          | 1           | string      | The user name of the VIM        |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| password           | M          | 1           | string      | The password of the VIM         |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| vendor             | M          | 1           | string      | The vendor of the VIM           |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| version            | M          | 1           | version     | The version of the VIM          |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| description        | O          | 1           | description | The description of the VIM      |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| sslCacert          | O          | 1           | Identifier  | The collection of trusted       |\r
+|                    |            |             |             | certificates towards the VIM.   |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| sslInsecure        | O          | 1           | Identifier  | Whether to verify VIM's         |\r
+|                    |            |             |             | certificate.                    |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| status             | O          | 1           | Identifier  | The status of external system   |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+\r
+{\r
+  "vimId": "string",\r
+  "name": "string",\r
+  "type": "string",\r
+  "url": "string",\r
+  "userName": "string",\r
+  "password": "string",\r
+  "vendor": "string",\r
+  "version": "string",\r
+  "description": "string",\r
+  "createTime": "string",\r
+  "sslCacert": "string",\r
+  "sslInsecure": "string",\r
+  "status": "string"\r
+}\r
+\r
index b05bede..c6f561b 100644 (file)
@@ -7,7 +7,7 @@ VF-C Offered APIs
 List VF-C APIs offered.
 
 
-NS LCM API
+VFC Northbound API
 ----------
 
 Network services lifecycle management APIs
@@ -19,10 +19,10 @@ Network services lifecycle management APIs
    NSLCM_API/index
 
 
-VNFM Driver API 
+VNFM Integration APIs 
 ---------------
 
-VNFM Driver component northbound APIs
+VNFM Driver Integration Related APIs
 
 .. toctree:: 
    :maxdepth: 1
@@ -31,10 +31,10 @@ VNFM Driver component northbound APIs
 
 
 
-VNF LCM API
+GVNFM Northbound & Southbound APIs
 -----------
 
-VNF lifecycle management APIs
+GVNFM Northbound & Southbound APIs for VNF Integration
 
 .. toctree:: 
    :maxdepth: 1
index 49f74cd..d1db684 100644 (file)
         }
       }
     },
-    "/nslcm/v1/vnfs/{vnfInstanceId}/Notify": {
+    "/nslcm/v1/ns/{vnfmid}/vnfs/{vnfInstanceId}/Notify": {
       "post": {
         "tags": [
           "NSLCM"
         "description": "VNF LCM Notification API should be provided by NSLCM component",
         "operationId": "VNF_LCM_Notification",
         "parameters": [
+          {
+            "required": true,
+            "type": "string",
+            "description": "VNFM Instance Id",
+            "name": "vnfmid",
+            "in": "path"
+          },
           {
             "required": true,
             "type": "string",
         }
       }
     },
+    "JobStatus" : {
+      "description": "The status of the job",
+      "type": "string",
+      "enum": [
+        "started",
+        "processing",
+        "finished",
+        "error",
+        "timeout"
+      ]
+    },
     "JobDetailInfo": {
       "type": "object",
       "properties": {
           "type": "object",
           "properties": {
             "status": {
-              "type": "string"
+              "$ref": "#/definitions/JobStatus",
+              "description": "The status of the job"
             },
             "progress": {
-              "type": "string"
+              "type": "string",
+              "description": "The progress of the job. Value between 0 and 100."
             },
             "statusDescription": {
-              "type": "string"
+              "type": "string",
+              "description": "The reason of the current status of the job."
             },
             "errorCode": {
               "type": "string"
         }
       }
     },
+    "ChangeType" : {
+      "description": "The type of the change",
+      "type": "string",
+      "enum": [
+        "VDU"
+      ]
+    },
     "ResourceChange" : {
        "type": "object",
        "properties": {
          "type": {
-           "type": "string",
-           "description": " The value should be VDU,VL,CP,Strorage."
+           "$ref": "#/definitions/ChangeType",
+           "description": "The type of the resource."
          },
          "resourceDefinitionId": {
+           "description": "The identifier of the resource within the grant request.",
            "type": "string"
          },
          "vdu": {
+           "description": "The identifier of the VDU.",
            "type": "string"
          }
        }
         },
         "sslCacert": {
           "type": "string",
-          "description": "CA file content if enabled ssl on auth-url"         
+          "description": "The collection of trusted certificates towards the VIM connection."
         },
         "sslInsecure": {
           "type": "string",
diff --git a/pom.xml b/pom.xml
index 2d0612d..1c75f88 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.vfc.nfvo.lcm</groupId>
     <artifactId>vfc-nfvo-lcm</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
+    <version>1.0.1-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>vfc-nfvo-lcm</name>
     <description>vfc nfvo lcm</description>
index 5128787..266427f 100644 (file)
@@ -4,7 +4,7 @@
 
 major=1
 minor=0
-patch=0
+patch=1
 
 base_version=${major}.${minor}.${patch}