summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst524
-rw-r--r--docs/APIs/VNFLCM_API/VNFLCM_API.rst253
-rw-r--r--docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst40
3 files changed, 794 insertions, 23 deletions
diff --git a/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst b/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
index 4be4162d..16b52b9c 100644
--- a/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
+++ b/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
@@ -1,544 +1,1062 @@
-.. contents::
- :depth: 1
-..
+
NS LCM API
==========
{
"swagger": "2.0",
+
"info": {
+
"version": "1.0.0",
+
"title": "ONAP VFC Network Service Lifecycle Management API",
+
"description": "VFC Network Service Lifecycle Management Rest API.",
+
"contact": {
+
"name": "ONAP VFC team",
+
"email": "onap-discuss@lists.onap.org",
+
"url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
+
}
+
},
+
"basePath": "/api/nslcm/v1",
+
"schemes": [
+
"http",
"https"
+
],
+
"consumes": [
+
"application/json"
+
],
"produces": [
+
"application/json"
+
],
"paths": {
+
"/ns": {
+
"post": {
+
"tags": [
+
"ns"
+
],
"summary": "ns create",
+
"description": "ns create",
+
"operationId": "ns_create",
+
"parameters": [
+
{
+
"in": "body",
+
"name": "NSCreateRequest",
+
"description": "NS Instance Create Request",
+
"required": true,
+
"schema": {
+
"$ref": "#/definitions/NsCreateRequest"
+
}
+
}
+
],
+
"responses": {
+
"200": {
+
"description": "successful operation",
+
"schema": {
+
"$ref": "#/definitions/NsCreateResponse"
+
}
+
}
+
}
+
},
+
"get": {
+
"tags": [
+
"ns"
+
],
+
"summary": "ns get",
+
"description": "ns get",
+
"operationId": "ns_get",
+
"parameters": [],
+
"responses": {
+
"200": {
+
"description": "successful operation",
+
"schema": {
+
"$ref": "#/definitions/NsInfo"
+
}
+
}
+
}
+
}
+
},
+
"/ns/{nsInstanceId}/Instantiate": {
+
"post": {
+
"tags": [
+
"ns"
+
],
+
"summary": "ns Instantiate",
+
"description": "ns Instantiate",
+
"operationId": "ns_Instantiate",
+
"parameters": [
+
{
"required": true,
+
"type": "string",
+
"description": "",
+
"name": "nsInstanceId",
+
"in": "path"
+
},
{
+
"in": "body",
+
"name": "NSInstantiateRequest",
+
"description": "NS Instantiate Request Body",
+
"required": true,
+
"schema": {
+
"$ref": "#/definitions/NsInstantiateRequest"
+
}
+
}
+
],
+
"responses": {
+
"200": {
+
"description": "",
+
"schema": {
+
"$ref": "#/definitions/JobInfo"
+
}
+
},
+
"201": {
+
"description": "Invalid Request"
+
}
+
}
+
}
+
},
+
"/ns/{nsInstanceId}/scale": {
+
"post": {
+
"tags": [
+
"ns"
+
],
+
"summary": "ns scale",
+
"description": "ns scale",
+
"operationId": "ns_scale",
+
"parameters": [
+
{
+
"required": true,
+
"type": "string",
+
"description": "",
+
"name": "nsInstanceId",
+
"in": "path"
+
},
+
{
+
"in": "body",
+
"name": "ScaleNSRequest",
+
"description": "Scale NS Request Body",
+
"required": true,
+
"schema": {
+
"$ref": "#/definitions/NsScaleRequest"
+
}
+
}
+
],
+
"responses": {
+
"200": {
+
"description": "",
+
"schema": {
+
"$ref": "#/definitions/JobInfo"
+
}
+
},
+
"201": {
+
"description": "Invalid Request"
+
}
+
}
+
}
+
},
+
"/ns/{ns_instance_id}/heal": {
+
"post": {
+
"tags": [
+
"ns"
+
],
+
"summary": "ns heal",
+
"description": "ns heal",
+
"operationId": "ns_heal",
+
"parameters": [
+
{
"required": true,
+
"type": "string",
+
"description": "Identifier of the NS instance.",
+
"name": "ns_instance_id",
+
"in": "path"
+
},
+
{
+
"in": "body",
+
"name": "healVnfData",
+
"description": "healVnfData",
+
"required": true,
+
"schema": {
+
"$ref": "#/definitions/NsHealRequest"
+
}
+
}
+
],
+
"responses": {
+
"202": {
+
"description": "",
+
"schema": {
+
"$ref": "#/definitions/JobInfo"
+
}
+
},
+
"500": {
+
"description": "the url is invalid"
+
}
+
}
+
}
+
},
+
"/ns/{ns_instance_id}/terminate": {
+
"post": {
+
"tags": [
+
"ns"
+
],
+
"summary": "ns terminate",
+
"description": "ns terminate",
+
"operationId": "ns_terminate",
+
"parameters": [
+
{
+
"required": true,
+
"type": "string",
+
"description": "Identifier of the NS instance.",
+
"name": "ns_instance_id",
+
"in": "path"
+
},
+
{
"in": "body",
+
"name": "NsTerminateRequest",
+
"description": "NsTerminateRequest",
+
"required": true,
+
"schema": {
+
"$ref": "#/definitions/NsTerminateRequest"
+
}
+
}
+
],
+
"responses": {
+
"202": {
+
"description": "",
+
"schema": {
+
"$ref": "#/definitions/JobInfo"
+
}
+
},
+
"500": {
+
"description": "the url is invalid"
+
}
+
}
+
}
+
},
"/ns/{ns_instance_id}": {
+
"delete": {
+
"tags": [
+
"ns"
+
],
+
"summary": "ns delete",
+
"description": "ns delete",
+
"operationId": "ns_delete",
+
"parameters": [
+
{
"required": true,
+
"type": "string",
+
"description": "Identifier of the NS instance.",
+
"name": "ns_instance_id",
+
"in": "path"
+
}
+
],
+
"responses": {
+
"204": {
+
"description": "The NS instance resource and the associated NS identifier were deleted successfully."
+
}
+
}
+
}
+
},
+
"/jobs/{jobId}": {
+
"post": {
+
"tags": [
+
"job"
+
],
+
"summary": "jobstatus",
+
"description": "",
+
"operationId": "jobstatus",
+
"parameters": [
+
{
"required": true,
+
"type": "string",
+
"description": "",
+
"name": "jobId",
+
"in": "path"
+
},
+
{
+
"in": "body",
+
"name": "body",
+
"description": "request param",
+
"required": true,
+
"schema": {
+
"$ref": "#/definitions/JobProgressRequest"
+
}
+
}
+
],
+
"responses": {
+
"202": {
+
"description": ""
+
}
+
}
+
}
+
}
+
},
+
"definitions": {
+
"NsCreateRequest": {
+
"type": "object",
+
"properties": {
+
"csarId": {
+
"type": "string",
+
"description": "the NS package ID"
+
},
+
"nsName": {
+
"type": "string"
+
},
+
"description": {
+
"type": "string"
+
}
+
}
+
},
+
"NsCreateResponse": {
+
"type": "object",
+
"properties": {
+
"nsInstanceId": {
+
"type": "string"
+
}
+
}
+
},
"NsInstantiateRequest": {
+
"type": "object",
+
"properties": {
+
"LocationConstraints": {
+
"type": "array",
+
"items": {
+
"$ref": "#/definitions/LocationConstraint"
+
}
+
},
+
"additionalParamForNs": {
+
"type": "string"
+
}
+
}
+
},
+
"LocationConstraint": {
+
"type": "object",
+
"properties": {
+
"vnfProfileId": {
+
"type": "string"
+
},
"locationConstraints": {
+
"type": "object",
+
"properties": {
+
"vimid": {
+
"type": "string"
+
}
+
}
+
}
+
}
+
},
+
"NsScaleRequest": {
+
"type": "object",
+
"properties": {
+
"scaleType": {
+
"type": "string"
+
},
+
"scaleNsByStepsData": {
+
"$ref": "#/definitions/NsScaleByStepsData"
+
}
+
}
+
},
+
"NsScaleByStepsData": {
+
"type": "object",
+
"properties": {
+
"scalingDirection": {
+
"type": "string"
+
},
+
"aspectId": {
+
"type": "string"
+
},
+
"numberOfSteps": {
+
"type": "integer"
+
}
+
}
+
},
+
"NsHealRequest": {
+
"type": "object",
+
"properties": {
+
"vnfInstanceId": {
+
"type": "string"
+
},
+
"cause": {
+
"type": "string"
+
},
+
"additionalParams": {
+
"type": "object",
+
"properties": {
+
"action": {
+
"type": "string"
+
},
+
"actionvminfo": {
+
"type": "object",
+
"properties": {
+
"vmid": {
+
"type": "string"
+
},
+
"vmname": {
+
"type": "string"
+
}
+
}
+
}
+
}
+
}
+
}
+
},
+
"NsTerminateRequest": {
+
"type": "object",
+
"properties": {
+
"terminationType": {
+
"type": "string"
+
},
+
"gracefulTerminationTimeout": {
+
"type": "string"
+
}
+
}
+
},
+
"JobInfo": {
+
"type": "object",
+
"properties": {
+
"jobId": {
+
"type": "string"
+
}
+
}
+
},
+
"JobProgressRequest": {
+
"type": "object",
+
"properties": {
+
"progress": {
+
"type": "string"
+
},
+
"desc": {
+
"type": "string"
+
},
+
"errcode": {
+
"type": "string"
+
}
+
}
+
},
+
"NsInfo": {
+
"type": "object",
+
"properties": {
+
"nsInstanceId": {
+
"type": "string"
+
},
+
"nsName": {
+
"type": "string"
+
},
+
"description": {
+
"type": "string"
+
},
+
"nsdId": {
+
"type": "string"
+
},
+
"vnfInfo": {
+
"type": "array",
+
"items": {
+
"$ref": "#/definitions/vnfInfo"
+
}
+
},
+
"vlInfo": {
+
"type": "array",
+
"items": {
+
"$ref": "#/definitions/vlInfo"
+
}
+
},
+
"vnffgInfo": {
+
"type": "array",
+
"items": {
+
"$ref": "#/definitions/vnffgInfo"
+
}
+
},
+
"nsState": {
+
"type": "string"
+
}
+
}
+
},
+
"vnfInfo": {
+
"type": "object",
+
"properties": {
+
"vnfInstanceId": {
+
"type": "string"
+
},
+
"vnfInstanceName": {
+
"type": "string"
+
},
+
"vnfdId": {
+
"type": "string"
+
}
+
}
+
},
+
"vlInfo": {
+
"type": "object",
+
"properties": {
+
"vlInstanceId": {
+
"type": "string"
+
},
+
"vlInstanceName": {
+
"type": "string"
+
},
+
"vldId": {
+
"type": "string"
+
},
+
"relatedCpInstanceId": {
+
"type": "array",
+
"items": {
+
"$ref": "#/definitions/cpInfo"
+
}
+
}
+
}
+
},
+
"cpInfo": {
+
"type": "object",
+
"properties": {
+
"cpInstanceId": {
+
"type": "string"
+
},
+
"cpInstanceName": {
+
"type": "string"
+
},
+
"cpdId": {
+
"type": "string"
+
}
+
}
+
},
"vnffgInfo": {
+
"type": "object",
+
"properties": {
+
"vnffgInstanceId": {
+
"type": "string"
+
},
+
"vnfId": {
+
"type": "string"
+
},
"pnfId": {
+
"type": "string"
+
},
+
"virtualLinkId": {
+
"type": "string"
+
},
+
"cpId": {
+
"type": "string"
+
},
+
"nfp": {
+
"type": "string"
+
}
+
}
+
}
+
}
+
} \ No newline at end of file
diff --git a/docs/APIs/VNFLCM_API/VNFLCM_API.rst b/docs/APIs/VNFLCM_API/VNFLCM_API.rst
index 9b277d4b..c6db4326 100644
--- a/docs/APIs/VNFLCM_API/VNFLCM_API.rst
+++ b/docs/APIs/VNFLCM_API/VNFLCM_API.rst
@@ -26,6 +26,7 @@
+------------------------+-----------------------------------------------------+
| VNF | Virtual Network Function |
+------------------------+-----------------------------------------------------+
+
Table 2-1 abbreviations
**3. Interfaces provided by VNFM** (Or-Vnfm/Ve-Vnfm-vnf)
@@ -67,7 +68,8 @@ Table 2-1 abbreviations
{
"vnfdId": "zte\_vFW\_51610",
"vnfInstanceName": "vFW\_01",
- " vnfInstanceDescription": " vFW in Nanjing TIC Edge"
+ "vnfInstanceDescription": " vFW in Nanjing TIC Edge"
+
}
**3.1.2 Response**
@@ -80,6 +82,7 @@ Table 2-1 abbreviations
{
"vnfInstanceId": "1"
+
}
**3.1.3 Response Code**
@@ -133,8 +136,8 @@ Table 2-1 abbreviations
| 4xx/5xx | <name from RFC7231> | <description> |
+-----------+-----------------------+----------------------------------------------------------------------------------------------+
-3.3 Instantiate VNF
--------------------
+**3.3 Instantiate VNF**
+-----------------------
+---------------------+-------------------------------------------------------------------------------------------+
| If Definition | Description |
@@ -203,8 +206,8 @@ Table 2-1 abbreviations
| extCps | M | 1..N | VnfExtCpData | External CPs of the VNF to be connected to this external VL. |
+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-
**VimInfo:**
+
+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
| Attribute | Qualifier | Cardinality | Content | Description |
+=================+===========+=============+==============+==========================================================================================================================================+
@@ -222,6 +225,7 @@ Table 2-1 abbreviations
+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
**interfaceInfo:**
+
+------------------+---------------+--------------------------------------+
| **Key Define** | **Content** | **Description** |
+==================+===============+======================================+
@@ -233,6 +237,7 @@ Table 2-1 abbreviations
+------------------+---------------+--------------------------------------+
**accessInfo:**
+
+------------------+---------------+--------------------------+
| **Key Define** | **Content** | **Description** |
+==================+===============+==========================+
@@ -252,7 +257,7 @@ Table 2-1 abbreviations
+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+
| addresses | O | 0..N | NetworkAddress | List of (fixed) network addresses that |
| | | | | need to be configured on the CP. This attribute shall |
-| | | | | be present if fixed addresses need to be configured. |
+| | | | | be present if fixed addresses need to be configured. |
+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+
| numDynamicAddre sses | O | 0..1 | Integer | Number of network addresses to be assigned dynamically. |
| | | | | This attribute shall be present if dynamic |
@@ -303,48 +308,69 @@ Table 2-1 abbreviations
"flavourId": "flavour\_1",
"instantiationLevelId":"instantiationLevel\_1",
"extVirtualLinks": [
- {
- "vlInstanceId": "1",
+
+ { "vlInstanceId": "1",
"vim": {
"vimInfoId": "1",
"vimId": "1",
"interfaceInfo": {
+
"vimType": "vim",
"apiVersion": "v2",
"protocolType": "http"
+
},
"accessInfo": {
+
"tenant": "tenant\_vCPE",
"username": "vCPE",
"password": "vCPE\_321"
+
},
"interfaceEndpoint": "http://10.43.21.105:80/"
+
},
"resourceId": "1246",
"extCps": [
+
{
"cpdId": "11", "addresses": [
+
{
"addressType": "MAC",
"l2AddressData": "00:f3:43:20:a2:a3"
+
},
{
+
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"iPAddress": "192.168.104.2"
+
}
+
}
+
],
"numDynamicAddresses": 0
- }
+
+ },
+
+ ...
+
]
+
}
+
],
"localizationLanguage": "en\_US", "additionalParams": {...}
+
}
+
**3.3.2 Response**
+-------------+-------------+---------------+------------------+---------------------------------------------------------+
@@ -360,6 +386,7 @@ Table 2-1 abbreviations
}
**3.3.3 Response Code**
+
+-----------+-----------------------+------------------------------------------------------------------------------------------+
| Code | Meaning | Description |
+===========+=======================+==========================================================================================+
@@ -398,12 +425,13 @@ Table 2-1 abbreviations
| | | | | will first arrange to take the VNF out of service after accepting |
| | | | | the request. Once the operation is successful or once the timer |
| | | | | value specified in the |
+| | | | | |
| | | | | “gracefulTerminationTime out” attribute expires, the VNFM will shut |
| | | | | down the VNF and release the resources. |
+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+
| graceful | O | 0..1 | Integer | This attribute is only |
| Termination | | | | applicable in case of graceful |
-| Timeout | | | | termination. It defines the |
+| Timeout | | | | termination. It defines the |
| | | | | time to wait for the VNF to be |
| | | | | taken out of service before |
| | | | | shutting down the VNF and |
@@ -421,9 +449,11 @@ Table 2-1 abbreviations
| | | | | VNF and releasing the |
| | | | | resources. |
+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+
+
{
"terminationType": "GRACEFUL",
"gracefulTerminationTimeout": 120
+
}
**3.4.2 Response**
@@ -436,6 +466,7 @@ Table 2-1 abbreviations
{
"vnfLcOpId": "2"
+
}
**3.4.3 Response Code**
@@ -727,109 +758,163 @@ Table 2-1 abbreviations
"vnfConfigurableProperties": {...},
"instantiationState": "INSTANTIATED",
"instantiatedVnfInfo": {
+
"flavourId": "1",
"vnfState": "STARTED",
"scaleStatus": [
+
{
"aspectId": "aspect1",
"scaleLevel": 1
+
}
+
],
+
"extCpInfo": [
+
{
"cpInstanceId": "1",
"cpdId": "1", "addresses": [
+
{
"addressType": "MAC",
"l2AddressData": "00:f3:43:20:a2:a3"
+
},
+
{
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"address": "192.168.104.2"
+
}
+
}
+
]
+
}
+
],
"extVirtualLink": [
+
{
"extVirtualLinkId": "extvl1",
"resourceHandle": {
+
"vimId": "1",
"resourceId": "1111"
+
},
"linkPorts": [
+
{
"resourceHandle":
+
{
"vimId": "1",
"resourceId": "2121"
+
},
+
"cpInstanceId": "1"
+
}
+
]
+
}
+
],
"monitoringParameters": {...},
"localizationLanguage": "en\_US",
"vimInfo": [
+
{
"vimInfoId": "1",
"vimId": "1",
"interfaceInfo": {
+
"vimType": "vim",
"apiVersion": "v2",
"protocolType": "http"
+
},
+
"accessInfo": {
+
"tenant": "tenant\_vCPE",
"username": "vCPE",
"password": "vCPE\_321"
+
},
"interfaceEndpoint": "http://10.43.21.105:80/"
+
}
+
],
"vnfcResourceInfo": [
+
{
"vnfcInstanceId": "vm1",
"vduId": "vdu1",
"computeResource": {
+
"vimId": "1",
"resourceId": "3333"
+
},
+
"storageResourceIds": [ "storage1"
]
+
}
+
],
+
"virtualLinkResourceInfo": [
+
{
"virtualLinkInstanceId": "vl01",
"virtualLinkDescId": "vl01",
"networkResource": {
+
"vimId": "1",
"resourceId": "4444"
+
}
+
}
+
],
"virtualStorageResourceInfo": [
+
{
"virtualStorageInstanceId": "storage1",
"virtualStorageDescId":"storage1",
"storageResource": {
+
"vimId": "1",
"resourceId": "555"
+
}
+
}
+
]
+
},
"metadata": {...},
"extensions": {...}
+
}
+
]
**3.5.3 Response Code**
@@ -847,7 +932,7 @@ Table 2-1 abbreviations
+---------------------+------------------------------------------------------------------------------+
| If Definition | Description |
+=====================+==============================================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId} |
+| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId} |
+---------------------+------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+------------------------------------------------------------------------------+
@@ -898,110 +983,158 @@ Table 2-1 abbreviations
"flavourId": "1",
"vnfState": "STARTED",
"scaleStatus": [
+
{
"aspectId": "aspect1",
"scaleLevel": 1
+
}
+
],
"extCpInfo": [
+
{
"cpInstanceId": "1",
"cpdId": "1", "addresses": [
+
{
"addressType": "MAC",
"l2AddressData": "00:f3:43:20:a2:a3"
+
},
{
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"address": "192.168.104.2"
+
}
+
}
+
]
+
}
+
],
"extVirtualLink": [
+
{
"extVirtualLinkId": "extvl1",
"resourceHandle": {
+
"vimId": "1",
"resourceId": "1111"
+
},
+
"linkPorts": [
+
{
- "resourceHandle":
+ "resourceHandle":
+
{
"vimId": "1",
"resourceId": "2121"
+
},
"cpInstanceId": "1"
+
}
+
]
+
}
+
],
"monitoringParameters": {...},
"localizationLanguage": "en\_US",
"vimInfo": [
+
{
"vimInfoId": "1",
"vimId": "1",
"interfaceInfo": {
+
"vimType": "vim",
"apiVersion": "v2",
"protocolType": "http"
+
},
+
"accessInfo": {
+
"tenant": "tenant\_vCPE",
"username": "vCPE",
"password": "vCPE\_321"
+
},
"interfaceEndpoint": "http://10.43.21.105:80/"
+
}
+
],
"vnfcResourceInfo": [
+
{
"vnfcInstanceId": "vm1",
"vduId": "vdu1",
"computeResource": {
+
"vimId": "1",
"resourceId": "3333"
+
},
"storageResourceIds": [ "storage1"
]
+
}
+
],
"virtualLinkResourceInfo": [
+
{
"virtualLinkInstanceId": "vl01",
"virtualLinkDescId": "vl01",
"networkResource": {
+
"vimId": "1",
"resourceId": "4444"
+
}
+
}
+
],
"virtualStorageResourceInfo": [
+
{
"virtualStorageInstanceId": "storage1",
"virtualStorageDescId": "storage1",
"storageResource": {
+
"vimId": "1",
"resourceId": "555"
+
}
+
}
+
]
+
},
"metadata": {...},
"extensions": {...}
+
}
**3.7 Get Operation Status**
@@ -1032,7 +1165,7 @@ Table 2-1 abbreviations
| lcmOperationType | M | 1 | ENUM | Type of the actual LCM operation represented by this lcm operation occurrence. |
| | | | | |
| | | | | Permitted values: |
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
+| | | | | |
| | | | | - INSTANTIATE:the |
| | | | | |
| | | | | Instantiate VNF LCM operation. |
@@ -1077,7 +1210,7 @@ Table 2-1 abbreviations
+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
| progress | M | 1 | Integer | progress (1-100) |
+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| lcmOperationS tatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence |
+| lcmOperationStatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence |
| | | | | |
| | | | | Permitted values: |
| | | | | |
@@ -1094,13 +1227,16 @@ Table 2-1 abbreviations
| | | | | - FAILED\_TEMP: The operation has failed and execution |
| | | | | has stopped, but the execution of the |
| | | | | operation is not considered to be closed. |
+| | | | | |
| | | | | (Reserved) |
+| | | | | |
| | | | | - ROLLING\_BACK: The operation is currently being rolled |
| | | | | back. (Reserved) |
| | | | | |
| | | | | - ROLLED\_BACK: The state of the VNF prior to the |
| | | | | original operation invocation has been |
-| | | | | restored as closely as possible. (Reserved) |
+| | | | | |
+| | | | | restored as closely as possible. (Reserved) |
+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
| statusDescripti on | O | 0..1 | String | Status Description of a VNF lifecycle operation |
| | | | | occurrence |
@@ -1162,29 +1298,37 @@ Table 2-1 abbreviations
"startTime": "2017-01-01T12:00:27.87+00:20",
- "responseDescriptor": {
+ "responseDescriptor": {
+
"responseId": 3,
"progress": 40,
"lcmOperationStatus": "PROCESSING",
"statusDescription": "OMC VMs are decommissioned in VIM",
"errorCode": null,
"responseHistoryList": [
+
{
"responseId": 1,
"progress": 40,
"lcmOperationStatus": "PROCESSING",
"statusDescription": "OMC VMs are decommissioned in VIM",
"errorCode": null
+
},
{
+
"responseId": 2,
"progress": 41,
"lcmOperationStatus": "PROCESSING",
"statusDescription": "OMC VMs are decommissioned in VIM",
"errorCode": null
+
}
+
]
+
}
+
}
**3.7.3 Response Code**
@@ -1201,7 +1345,7 @@ Table 2-1 abbreviations
===============================================
**4.1 Set Initial Configuration**
------------------------------
+---------------------------------
+---------------------+---------------------------------------------+
| If Definition | Description |
@@ -1311,68 +1455,105 @@ Table 2-1 abbreviations
"vnfInstanceId": "1",
"vnfConfigurationData": {
+
"cp": [
+
{
"cpId": "cp-1",
"cpdId": "cpd-a",
"cpAddress": [
+
{
"addresses": [
+
{
"addressType": "MAC",
"l2AddressData": "00:f3:43:20:a2:a3"
+
},
{
+
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"iPAddress": "192.168.104.2"
+
}
+
}
+
],
+
"useDynamicAddress": "FALSE"
+
}
+
]
+
}
+
],
+
"vnfSpecificData": {
+
"autoScalable": "FALSE",
"autoHealable": "FALSE"
+
}
+
},
+
"vnfcConfigurationData":
{
"vnfcId": "vnfc-1",
"cp": [
+
{
"cpId": "cp-11",
"cpdId": "cpd-1a",
"cpAddress": [
+
{
"addresses": [
+
{
"addressType": "MAC",
"l2AddressData": "00:f3:43:21:a2:a3"
+
},
{
+
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"iPAddress": "192.168.105.2"
+
}
+
}
+
],
"useDynamicAddress": "FALSE"
+
}
+
]
+
}
+
],
+
"vnfcSpecificData": {}
+
}
+
}
**4.1.2 Response**
+
+-----------------------+-------------+---------------+-------------------+---------------------------------+
| Parameter | Qualifier | Cardinality | Content | Description |
+=======================+=============+===============+===================+=================================+
@@ -1391,63 +1572,101 @@ Table 2-1 abbreviations
{
"vnfConfigurationData": {
+
"cp": [
+
{
"cpId": "cp-1",
"cpdId": "cpd-a", "cpAddress": [
+
{
"addresses": [
+
{
"addressType": "MAC",
"l2AddressData": "00:f3:43:20:a2:a3"
+
},
{
+
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"iPAddress": "192.168.104.2"
+
}
+
}
+
],
+
"useDynamicAddress": "FALSE"
+
}
+
]
+
}
+
],
"vnfSpecificData": {
+
"autoScalable": "FALSE",
"autoHealable": "FALSE",
+
}
+
},
+
"vnfcConfigurationData": {
+
"vnfcId": "vnfc-1",
"cp": [
+
{
"cpId": "cp-11",
"cpdId": "cpd-1a",
"cpAddress": [
+
{
"addresses": [
+
{
+
"addressType": "MAC",
"l2AddressData": "00:f3:43:21:a2:a3"
+
},
{
+
"addressType": "IP",
"l3AddressData": {
+
"iPAddressType": "IPv4",
"iPAddress": "192.168.105.2"
+
}
+
}
+
],
+
"useDynamicAddress": "FALSE"
+
}
+
]
+
}
+
],
+
"vnfcSpecificData": {…}
+
}
+
}
**4.1.3Response Code**
@@ -1462,4 +1681,4 @@ Table 2-1 abbreviations
.. |image0| image:: VNFM_API.png
:width: 5.07047in
- :height: 5.63208in \ No newline at end of file
+ :height: 5.6320 \ No newline at end of file
diff --git a/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst b/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst
index f8f1514a..f7a9c67e 100644
--- a/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst
+++ b/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst
@@ -1,6 +1,7 @@
.. contents::
:depth: 3
..
+
**VNFM Driver API**
**V0.1**
@@ -92,7 +93,7 @@ juju
| | | | | manages this resource. |
| | | | | This attribute shall be supported |
| | | | | and present if VNF-related resource |
-| | | | | management in direct applicable. |
+| | | | | management in direct applicable. |
+--------------+------------+-------------+----------+----------------------------------------+
| networkId | M | 1 | String | The network UUID of VIM |
+--------------+------------+-------------+----------+----------------------------------------+
@@ -154,32 +155,43 @@ juju
"vnfPackageId":"1",
"vnfDescriptorId":"1",
"vnfInstanceDescription":"vFW_1",
- "extVirtualLinkLink":[
+ "extVirtualLinkLink":[
+
{
"vlInstanceId":"1",
"resourceId":"1246" ,
" cpdId":"11111",
"vim":
{
+
"vimInfoId":"1",
"vimid":"1",
"interfaceInfo":{
+
"vimType":"vim",
"apiVersion":"v2",
"protocolType":"http"
+
}
"accessInfo":{
+
"tenant":"tenant_vCPE",
"username":"vCPE",
"password":"vCPE_321"
+
}
"interfaceEndpoint":"http://10.43.21.105:80/"
+
}
+
}
+
]
"additionalParam":{
+
……
}
+
}
@@ -200,6 +212,7 @@ juju
{
"jobId":"1",
"vnfInstanceId":"1"
+
}
**3.2 Terminate VNF**
@@ -274,6 +287,7 @@ juju
"vnfInstanceId":"1",
"terminationType":"graceful",
"gracefulTerminationTimeout":"60"
+
}
**3.2.2 Response**
@@ -290,6 +304,7 @@ juju
{
"jobId":"1"
+
}
@@ -367,6 +382,7 @@ VNF filter: vnfInstanceId via url [R1]
{
"vnfInfo":
{
+
"nfInstanceId":"1",
"vnfInstanceName":"vFW",
"vnfInstanceDescription":"vFW in Nanjing TIC Edge",
@@ -376,7 +392,9 @@ VNF filter: vnfInstanceId via url [R1]
"vnfProvider":"ZTE",
"vnfType":"vFW",
"vnfStatus":" ACTIVE",
+
}
+
}
**3.4 Get operation status**
@@ -437,26 +455,33 @@ VNF filter: vnfInstanceId via url [R1]
{
"jobId" : "1234566",
"responseDescriptor" : {
+
"progress" : "40",
"status" : "proccessing",
"statusDescription" : "OMC VMs are decommissioned in VIM",
"errorCode" : null,
"responseId" : "42",
"responseHistoryList" : [{
+
"progress" : "40",
"status" : "proccessing",
"statusDescription" : "OMC VMs are decommissioned in VIM",
"errorCode" : null,
"responseId" : "1"
+
}, {
"progress" : "41",
"status" : "proccessing",
"statusDescription" : "OMC VMs are decommissioned in VIM",
"errorCode" : null,
"responseId" : "2"
+
}
+
]
+
}
+
}
**3.5 Scale VNF**
@@ -475,6 +500,7 @@ VNF filter: vnfInstanceId via url [R1]
**3.5.1 Request**
+
+---------------+------------+-------------+-------------+---------------------------------------------+
| Parameter | Qualifier | Cardinality | Content | Description |
+===============+============+=============+=============+=============================================+
@@ -495,7 +521,7 @@ VNF filter: vnfInstanceId via url [R1]
| | | | | whether or not a particular VNF supports |
| | | | | performing more than one step at a time. |
| | | | | Such a property in the VNFD applies for all |
-+--------------------+------------+-------------+-------------+----------------------------------------+
++---------------+------------+-------------+-------------+---------------------------------------------+
| additional | M | 1 |KeyValuePair | Additional parameters passed by the NFVO |
| Param | | | | as input to the scaling proccess, specific |
| | | | | to the VNF being scaled. |
@@ -516,8 +542,11 @@ VNF filter: vnfInstanceId via url [R1]
"aspectId":"101",
"numberOfSteps":"1",
"additionalParam":{
+
……
+
}
+
}
**3.5.2 Response**
@@ -531,6 +560,7 @@ VNF filter: vnfInstanceId via url [R1]
{
"jobId":"1"
+
}
**3.6 Heal VNF**
@@ -579,10 +609,13 @@ VNF filter: vnfInstanceId via url [R1]
"action": "vmReset",
"affectedvm":
{
+
"vmid": "804cca71-9ae9-4511-8e30-d1387718caff",
"vduid": "vdu_100",
"vmname": "ZTE_SSS_111_PP_2_L"
+
},
+
}
**3.6.2 Response**
@@ -596,4 +629,5 @@ VNF filter: vnfInstanceId via url [R1]
{
"jobId":"1"
+
}