aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdocker/build_image.sh2
-rw-r--r--docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst2
-rw-r--r--docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst8
-rw-r--r--docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst281
-rw-r--r--docs/platform/APIs/index.rst10
-rw-r--r--lcm/swagger/vfc.vnfdriver.swagger.json44
-rw-r--r--pom.xml2
-rw-r--r--version.properties2
8 files changed, 307 insertions, 44 deletions
diff --git a/docker/build_image.sh b/docker/build_image.sh
index ec4ccff6..027d54d4 100755
--- a/docker/build_image.sh
+++ b/docker/build_image.sh
@@ -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"
diff --git a/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
index bada11e7..7188dc7f 100644
--- a/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
+++ b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
@@ -1,6 +1,6 @@
-NS LCM API
+Network services lifecycle management northbound APIs
==========
{
diff --git a/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst b/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst
index c6db4326..8d9cff6a 100644
--- a/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst
+++ b/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst
@@ -2,14 +2,14 @@
:depth: 3
..
- **VNFM API**
+ **GVNFM Northbound & Southbound APIs**
**V0.1**
**1 Scope**
=============
- The scope of the present document is to describe the VNFM exposed
- API specification over Or-Vnfm Reference Point.
+ The scope of the present document is to describe the GVNFM exposed
+ API specification over Or-Vnfm reference point and Ve-Vnfm-vnf reference point.
**2 Terms, Definitions and Abbreviations**
===========================================
@@ -29,7 +29,7 @@
Table 2-1 abbreviations
-**3. Interfaces provided by VNFM** (Or-Vnfm/Ve-Vnfm-vnf)
+**3. Interfaces provided by GVNFM** (Or-Vnfm)
==========================================================
Interfaces use RESTful API and the format is as follows:
diff --git a/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst b/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst
index f7a9c67e..c289626d 100644
--- a/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst
+++ b/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst
@@ -7,7 +7,7 @@
**1. Scope**
==============
-The scope of the present document is to describe the VNFM Driver exposed API specification.
+The scope of the present document is to describe the VNFM driver integrated related API specification.
**2. Terms, Definitions and Abbreviations**
=============================================
@@ -34,7 +34,7 @@ Interfaces use RESTful API and the format is as follows:
http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfm_id}/[……]
R1 vnfmtype:
zte-vnfm
-fw-vnfm
+hw-vnfm
juju
**3.1 Instantiate VNF**
@@ -71,11 +71,11 @@ juju
| | | | | description of the VNF |
| | | | | instance to be created. |
+-----------------------+------------+-------------+----------+------------------------------+
-| extVirtualLink | M | 0..N | String | References to external |
-| | | | | virtual links to connect the |
-| | | | | VNF to. |
+| extVirtualLink | M | 0..N | Ext | References to external |
+| | | | Virtual | virtual links to connect the |
+| | | | LinkData | VNF to. |
+-----------------------+------------+-------------+----------+------------------------------+
-| additionalParam | M | 0..N | String |Additional parameters |
+| additionalParam | M | 0..N | Object |Additional parameters |
| | | | |passed by the NFVO as |
| | | | |input to the instantiation |
| | | | |process, specific to the |
@@ -130,7 +130,7 @@ juju
+--------------+------------+-------------+----------+-------------------------------+
| Attribute | Qualifier | Cardinality | Content | Description |
+==============+============+=============+==========+===============================+
-| vimType | M | 1 | String | vim |
+| vimType | M | 1 | String | Type of the VIM |
+--------------+------------+-------------+----------+-------------------------------+
| apiVersion | M | 1 | String | |
+--------------+------------+-------------+----------+-------------------------------+
@@ -168,7 +168,7 @@ juju
"vimid":"1",
"interfaceInfo":{
- "vimType":"vim",
+ "vimType":"openstack",
"apiVersion":"v2",
"protocolType":"http"
@@ -197,17 +197,17 @@ juju
**3.1.2 Response**
-+--------------+------------+-------------+-----------+-------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+==============+============+=============+===========+===============================+
-| jobId | M | 1 | Identifier| Tenant Name of tenant |
-| | | | | operation occurrence. |
-| | | | | |
-| | | | | [lifecycleOperationOccurren |
-| | | | | ceId] |
-+--------------+------------+-------------+-----------+-------------------------------+
-| password | M | 1 | String | Password of login user |
-+--------------+------------+-------------+-----------+-------------------------------+
++-------------------+------------+-------------+-----------+-------------------------------+
+| Parameter | Qualifier | Cardinality | Content | Description |
++===================+============+=============+===========+===============================+
+| jobId | M | 1 | Identifier| Tenant Name of tenant |
+| | | | | operation occurrence. |
+| | | | | |
+| | | | | [lifecycleOperationOccurren |
+| | | | | ceId] |
++-------------------+------------+-------------+-----------+-------------------------------+
+| vnfInstanceId | M | 1 | String | VNF instance identifier. |
++-------------------+------------+-------------+-----------+-------------------------------+
{
"jobId":"1",
@@ -340,7 +340,6 @@ VNF filter: vnfInstanceId via url [R1]
| | | | | attributeSelector will be |
| | | | | returned for the selected |
| | | | | VNF instance(s). |
-| | | | | See note. |
+--------------+------------+-------------+-----------+---------------------------------+
**VnfInfo Table**
@@ -350,7 +349,7 @@ VNF filter: vnfInstanceId via url [R1]
+=================+============+=============+==========+=================================+
| vnfInstanceId | M | 1 | String | VNF instance identifier. |
+-----------------+------------+-------------+----------+---------------------------------+
-| vnfInstanceName | M | o..1 | String | VNF instance name. See note. |
+| vnfInstanceName | M | o..1 | String | VNF instance name. |
+-----------------+------------+-------------+----------+---------------------------------+
| vnfInstance | M | o..1 | String | Human-readable description of |
| Description | | | | the VNF instance. |
@@ -511,7 +510,7 @@ VNF filter: vnfInstanceId via url [R1]
| | | | | declared in the VNFD. See note 1. |
+---------------+------------+-------------+-------------+---------------------------------------------+
| aspectId | M | 1 | Identifier | Identifies the aspect of the VNF that is |
-| | | | | requested to be scaled, as declared in the |
+| | | | | requested to be scaled |
+---------------+------------+-------------+-------------+---------------------------------------------+
| numberOfSteps | M | 1 | Integer | Number of scaling steps to be executed as |
| | | | | part of this ScaleVnf operation. It shall |
@@ -532,7 +531,7 @@ VNF filter: vnfInstanceId via url [R1]
| scaling (scale up, scale down) is not supported in the present document. |
| SCALE_IN designates scaling in. |
| SCALE_OUT 1 designates scaling out. |
-| NOTE 2: A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling |
+| NOTE 2: A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling |
| aspect. |
+------------------------------------------------------------------------------------------------------+
@@ -614,7 +613,7 @@ VNF filter: vnfInstanceId via url [R1]
"vduid": "vdu_100",
"vmname": "ZTE_SSS_111_PP_2_L"
- },
+ }
}
@@ -631,3 +630,237 @@ VNF filter: vnfInstanceId via url [R1]
"jobId":"1"
}
+
+
+**4. Interfaces provided by VFC to integrate with VNFM driver**
+===========================================
+
+
+**4.1 VNF Lifecycle Operation Granting Interface**
+------------------------
+
+
++---------------+------------------------------------------------------------------+
+| IF Definition | Description |
++===============+==================================================================+
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/ns/grantvnf |
++---------------+------------------------------------------------------------------+
+| Operation | POST |
++---------------+------------------------------------------------------------------+
+| Direction | VNFMDriver -> NSLCM |
++---------------+------------------------------------------------------------------+
+
+**4.1.1 Request**
+
+
+{
+ "vnfInstanceId": "string",
+ "vnfDescriptorId": "string",
+ "lifecycleOperation": "Terminal",
+ "jobId": "string",
+ "addResource": [
+ {
+ "type": "string",
+ "resourceDefinitionId": "string",
+ "vdu": "string"
+ }
+ ],
+ "removeResource": [
+ {
+ "type": "string",
+ "resourceDefinitionId": "string",
+ "vdu": "string"
+ }
+ ],
+ "additionalParam": {}
+}
+
+**4.1.2 Response**
+
+{
+ "vim": {
+ "vimInfoId": "string",
+ "vimId": "string",
+ "interfaceInfo": {
+ "vimType": "string",
+ "apiVersion": "string",
+ "protocolType": "string"
+ },
+ "accessInfo": {
+ "tenant": "string",
+ "username": "string",
+ "password": "string"
+ },
+ "interfaceEndpoint": "string"
+ }
+}
+
+**4.2 VNF LCM Notification Interface**
+------------------------
+
++---------------+------------------------------------------------------------------+
+| IF Definition | Description |
++===============+==================================================================+
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/ns/{vnfmid}/vnfs/ |
+| | {vnfInstanceId}/Notify |
++---------------+------------------------------------------------------------------+
+| Operation | POST |
++---------------+------------------------------------------------------------------+
+| Direction | VNFMDriver -> NSLCM |
++---------------+------------------------------------------------------------------+
+
+**4.2.1 Request**
+
+{
+ "status": "result",
+ "vnfInstanceId": "string",
+ "operation": "Terminal",
+ "jobId": "string",
+ "affectedVnfc": [
+ {
+ "vnfcInstanceId": "string",
+ "vduId": "string",
+ "changeType": "added",
+ "vimid": "string",
+ "vmid": "string",
+ "vmname": "string"
+ }
+ ],
+ "affectedCp": [
+ {
+ "virtualLinkInstanceId": "string",
+ "cpinstanceid": "string",
+ "cpdid": "string",
+ "ownerType": "string",
+ "ownerId": "string",
+ "changeType": "added",
+ "portResource": {
+ "vimid": "string",
+ "resourceid": "string",
+ "resourceName": "string",
+ "tenant": "string",
+ "ipAddress": "string",
+ "macAddress": "string",
+ "instId": "string"
+ }
+ }
+ ],
+ "affectedVl": [
+ {
+ "vlInstanceId": "string",
+ "vldid": "string",
+ "changeType": "added",
+ "networkResource": {
+ "resourceType": "network",
+ "resourceId": "string"
+ }
+ }
+ ],
+ "affectedVirtualStorage": [
+ {}
+ ]
+}
+
+**4.2.2 Response**
+
+N/A
+
+
+**4.3 Query VNFM Register Info Interface**
+------------------------
+
++---------------+------------------------------------------------------------------+
+| IF Definition | Description |
++===============+==================================================================+
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/vnfms/{vnfmid} |
++---------------+------------------------------------------------------------------+
+| Operation | GET |
++---------------+------------------------------------------------------------------+
+| Direction | VNFMDriver -> NSLCM |
++---------------+------------------------------------------------------------------+
+
+**4.3.1 Request**
+N/A
+
+**4.3.2 Response**
+{
+ "vnfmId": "string",
+ "name": "string",
+ "type": "string",
+ "url": "string",
+ "userName": "string",
+ "password": "string",
+ "vimId": "string",
+ "vendor": "string",
+ "version": "string",
+ "description": "string",
+ "certificateUrl": "string",
+ "createTime": "string"
+}
+
+
+**4.4 Query VIM Register Info Interface**
+------------------------
+
++---------------+------------------------------------------------------------------+
+| IF Definition | Description |
++===============+==================================================================+
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/vims/{vimid} |
++---------------+------------------------------------------------------------------+
+| Operation | GET |
++---------------+------------------------------------------------------------------+
+| Direction | VNFMDriver -> NSLCM |
++---------------+------------------------------------------------------------------+
+
+**4.4.1 Request**
+N/A
+
+**4.4.2 Response**
+
++--------------------+------------+-------------+-------------+---------------------------------+
+| Parameter | Qualifier | Cardinality | Content | Description |
++====================+============+=============+=============+=================================+
+| vimId | M | 1 | string | The identifier of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| name | M | 1 | string | The name of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| type | M | 1 | string | The type of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| url | M | 1 | string | The access URL of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| userName | M | 1 | string | The user name of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| password | M | 1 | string | The password of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| vendor | M | 1 | string | The vendor of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| version | M | 1 | version | The version of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| description | O | 1 | description | The description of the VIM |
++--------------------+------------+-------------+-------------+---------------------------------+
+| sslCacert | O | 1 | Identifier | The collection of trusted |
+| | | | | certificates towards the VIM. |
++--------------------+------------+-------------+-------------+---------------------------------+
+| sslInsecure | O | 1 | Identifier | Whether to verify VIM's |
+| | | | | certificate. |
++--------------------+------------+-------------+-------------+---------------------------------+
+| status | O | 1 | Identifier | The status of external system |
++--------------------+------------+-------------+-------------+---------------------------------+
+
+
+{
+ "vimId": "string",
+ "name": "string",
+ "type": "string",
+ "url": "string",
+ "userName": "string",
+ "password": "string",
+ "vendor": "string",
+ "version": "string",
+ "description": "string",
+ "createTime": "string",
+ "sslCacert": "string",
+ "sslInsecure": "string",
+ "status": "string"
+}
+
diff --git a/docs/platform/APIs/index.rst b/docs/platform/APIs/index.rst
index b05bede2..c6f561be 100644
--- a/docs/platform/APIs/index.rst
+++ b/docs/platform/APIs/index.rst
@@ -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
diff --git a/lcm/swagger/vfc.vnfdriver.swagger.json b/lcm/swagger/vfc.vnfdriver.swagger.json
index 49f74cdf..d1db6845 100644
--- a/lcm/swagger/vfc.vnfdriver.swagger.json
+++ b/lcm/swagger/vfc.vnfdriver.swagger.json
@@ -345,7 +345,7 @@
}
}
},
- "/nslcm/v1/vnfs/{vnfInstanceId}/Notify": {
+ "/nslcm/v1/ns/{vnfmid}/vnfs/{vnfInstanceId}/Notify": {
"post": {
"tags": [
"NSLCM"
@@ -357,6 +357,13 @@
{
"required": true,
"type": "string",
+ "description": "VNFM Instance Id",
+ "name": "vnfmid",
+ "in": "path"
+ },
+ {
+ "required": true,
+ "type": "string",
"description": "VNF Instance Id",
"name": "vnfInstanceId",
"in": "path"
@@ -561,6 +568,17 @@
}
}
},
+ "JobStatus" : {
+ "description": "The status of the job",
+ "type": "string",
+ "enum": [
+ "started",
+ "processing",
+ "finished",
+ "error",
+ "timeout"
+ ]
+ },
"JobDetailInfo": {
"type": "object",
"properties": {
@@ -571,13 +589,16 @@
"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"
@@ -595,17 +616,26 @@
}
}
},
+ "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"
}
}
@@ -1319,7 +1349,7 @@
},
"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 2d0612dd..1c75f889 100644
--- 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>
diff --git a/version.properties b/version.properties
index 51287873..266427fa 100644
--- a/version.properties
+++ b/version.properties
@@ -4,7 +4,7 @@
major=1
minor=0
-patch=0
+patch=1
base_version=${major}.${minor}.${patch}