From 71e81d2345760e3d193c584b3e73cce5270d6872 Mon Sep 17 00:00:00 2001 From: yangyan Date: Tue, 26 Sep 2017 11:42:00 +0800 Subject: update the api files Fix sphinx verify issues Issue-ID: VFC-447 Change-Id: Icdb93758f8d27443d3bebd91b92527c7c9bec449 Signed-off-by: yangyan --- .../NSLCM_API/NSLCM_API_Specification_v0.1.rst | 524 ++++++++++++++++++++- docs/APIs/VNFLCM_API/VNFLCM_API.rst | 253 +++++++++- docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst | 40 +- 3 files changed, 794 insertions(+), 23 deletions(-) (limited to 'docs/APIs') 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 | | | +-----------+-----------------------+----------------------------------------------------------------------------------------------+ -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" + } -- cgit 1.2.3-korg