From ad8793f9b4a4de8fe8aa37c80d6746403631528f Mon Sep 17 00:00:00 2001 From: yangyan Date: Wed, 1 Nov 2017 12:20:49 +0800 Subject: Update VF-C doc Add VF-C release note Update VF-C component installation document Issue-ID: VFC-574 Change-Id: I8d422e341d785c8d817e53ad5a24412e50933a64 Signed-off-by: yangyan --- .../NSLCM_API/NSLCM_API_Specification_v0.1.rst | 1086 ------------- docs/APIs/NSLCM_API/index.rst | 7 - docs/APIs/VNFLCM_API/VNFLCM_API.rst | 1684 -------------------- docs/APIs/VNFLCM_API/VNFM_API.png | Bin 53033 -> 0 bytes docs/APIs/VNFLCM_API/index.rst | 7 - docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst | 633 -------- docs/APIs/VNFMDriver_API/index.rst | 7 - docs/APIs/index.rst | 43 - docs/architecture.rst | 25 - docs/components.png | Bin 6381 -> 0 bytes docs/delivery.rst | 27 - docs/index.rst | 22 +- docs/installation.rst | 175 -- docs/logging.rst | 14 - docs/offeredapis.rst | 43 - .../NSLCM_API/NSLCM_API_Specification_v0.1.rst | 1086 +++++++++++++ docs/platform/APIs/NSLCM_API/index.rst | 7 + docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst | 1684 ++++++++++++++++++++ docs/platform/APIs/VNFLCM_API/VNFM_API.png | Bin 0 -> 53033 bytes docs/platform/APIs/VNFLCM_API/index.rst | 7 + .../APIs/VNFMDriver_API/VNFM_Driver_API.rst | 633 ++++++++ docs/platform/APIs/VNFMDriver_API/index.rst | 7 + docs/platform/APIs/index.rst | 43 + docs/platform/architecture.rst | 25 + docs/platform/components.png | Bin 0 -> 6381 bytes docs/platform/delivery.rst | 27 + docs/platform/index.rst | 24 + docs/platform/installation.rst | 163 ++ docs/platform/logging.rst | 14 + docs/platform/offeredapis.rst | 43 + docs/platform/vfc-arc.png | Bin 0 -> 71929 bytes docs/release-notes.rst | 54 + docs/vfc-arc.png | Bin 71929 -> 0 bytes 33 files changed, 3824 insertions(+), 3766 deletions(-) delete mode 100644 docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst delete mode 100644 docs/APIs/NSLCM_API/index.rst delete mode 100644 docs/APIs/VNFLCM_API/VNFLCM_API.rst delete mode 100644 docs/APIs/VNFLCM_API/VNFM_API.png delete mode 100644 docs/APIs/VNFLCM_API/index.rst delete mode 100644 docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst delete mode 100644 docs/APIs/VNFMDriver_API/index.rst delete mode 100644 docs/APIs/index.rst delete mode 100644 docs/architecture.rst delete mode 100644 docs/components.png delete mode 100644 docs/delivery.rst delete mode 100644 docs/installation.rst delete mode 100644 docs/logging.rst delete mode 100644 docs/offeredapis.rst create mode 100644 docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst create mode 100644 docs/platform/APIs/NSLCM_API/index.rst create mode 100644 docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst create mode 100644 docs/platform/APIs/VNFLCM_API/VNFM_API.png create mode 100644 docs/platform/APIs/VNFLCM_API/index.rst create mode 100644 docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst create mode 100644 docs/platform/APIs/VNFMDriver_API/index.rst create mode 100644 docs/platform/APIs/index.rst create mode 100644 docs/platform/architecture.rst create mode 100644 docs/platform/components.png create mode 100644 docs/platform/delivery.rst create mode 100644 docs/platform/index.rst create mode 100644 docs/platform/installation.rst create mode 100644 docs/platform/logging.rst create mode 100644 docs/platform/offeredapis.rst create mode 100644 docs/platform/vfc-arc.png create mode 100644 docs/release-notes.rst delete mode 100644 docs/vfc-arc.png (limited to 'docs') diff --git a/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst b/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst deleted file mode 100644 index bada11e7..00000000 --- a/docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst +++ /dev/null @@ -1,1086 +0,0 @@ - - -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": { - - "context":{ - - "type": "object", - - "properties": { - - "globalCustomerId":{ - - "type": "string", - "description": "the global customer id" - - }, - - "serviceType":{ - "type": "string", - - "description": "service type" - - } - - } - - }, - - "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/NSLCM_API/index.rst b/docs/APIs/NSLCM_API/index.rst deleted file mode 100644 index ffbf0756..00000000 --- a/docs/APIs/NSLCM_API/index.rst +++ /dev/null @@ -1,7 +0,0 @@ -NSLCM API ---------- - -.. toctree:: - :titlesonly: - -.. literalinclude:: NSLCM_API_Specification_v0.1.rst \ No newline at end of file diff --git a/docs/APIs/VNFLCM_API/VNFLCM_API.rst b/docs/APIs/VNFLCM_API/VNFLCM_API.rst deleted file mode 100644 index c6db4326..00000000 --- a/docs/APIs/VNFLCM_API/VNFLCM_API.rst +++ /dev/null @@ -1,1684 +0,0 @@ -.. contents:: - :depth: 3 -.. - - **VNFM API** - **V0.1** - -**1 Scope** -============= - - The scope of the present document is to describe the VNFM exposed - API specification over Or-Vnfm Reference Point. - -**2 Terms, Definitions and Abbreviations** -=========================================== - - For the purposes of the present document, the following - abbreviations apply: - -+------------------------+-----------------------------------------------------+ -| **Abbreviation** | | -+========================+=====================================================+ -| NFVO | Network Functions Virtualization Orchestrator | -+------------------------+-----------------------------------------------------+ -| VNFM | Virtual Network Function Manager | -+------------------------+-----------------------------------------------------+ -| VNF | Virtual Network Function | -+------------------------+-----------------------------------------------------+ - -Table 2-1 abbreviations - -**3. Interfaces provided by VNFM** (Or-Vnfm/Ve-Vnfm-vnf) -========================================================== - - Interfaces use RESTful API and the format is as follows: - http(s)://[hostname][:port]/gvnfmapi/lcm/v1/[……] - -|image0| - - - **{apiRoot} is** http(s)://[hostname][:port]/gvnfmapi - -**3.1 Create VNF Identifier** ------------------------------ - -+---------------------+--------------------------------------------------------------+ -| If Definition | Description | -+=====================+==============================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances | -+---------------------+--------------------------------------------------------------+ -| Operation | POST | -+---------------------+--------------------------------------------------------------+ -| Direction | NFVO->VNFMLCM | -+---------------------+--------------------------------------------------------------+ - -**3.1.1 Request** - -+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+===========================+=============+===============+==================+=====================================================================================+ -| vnfdId | M | 1 | Identifier | Identifier that identifies the VNFD which defines the VNF instance to be created. | -+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ -| vnfInstanceName | M | 1 | String | Human-readable name of the VNF instance to be created. | -+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ -| vnfInstanceDescription | O | 0..1 | String | Human-readable description of the VNF instance to be created. | -+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ - - { - "vnfdId": "zte\_vFW\_51610", - "vnfInstanceName": "vFW\_01", - "vnfInstanceDescription": " vFW in Nanjing TIC Edge" - - } - -**3.1.2 Response** - -+-----------------+-------------+---------------+------------------+-----------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=================+=============+===============+==================+=========================================+ -| vnfInstanceId | M | 1 | Identifier | VNF instance identifier just created. | -+-----------------+-------------+---------------+------------------+-----------------------------------------+ - - { - "vnfInstanceId": "1" - - } - -**3.1.3 Response Code** - -+-----------+-----------------------+-----------------------------------------------------------+ -| Code | Meaning | Description | -+===========+=======================+===========================================================+ -| 201 | Created | A VNF Instance identifier was created successfully. | -+-----------+-----------------------+-----------------------------------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+-----------------------------------------------------------+ - -**3.2 Delete VNF Identifier** ------------------------------ - -+---------------------+------------------------------------------------------------------------------+ -| If Definition | Description | -+=====================+==============================================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId} | -+---------------------+------------------------------------------------------------------------------+ -| Operation | DELETE | -+---------------------+------------------------------------------------------------------------------+ -| Direction | NFVO->VNFMLCM | -+---------------------+------------------------------------------------------------------------------+ - -**3.2.1 Request** - -+-------------+-------------+---------------+---------------+---------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=============+=============+===============+===============+===============+ -| n/a | | | | | -+-------------+-------------+---------------+---------------+---------------+ - -**3.2.2 Response** - -+-------------+-------------+---------------+---------------+---------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=============+=============+===============+===============+===============+ -| n/a | | | | | -+-------------+-------------+---------------+---------------+---------------+ - -**3.2.3 Response Code** - -+--------+-----------+-------------------+ -| Code | Meaning | Description | -+--------+-----------+-------------------+ - -+-----------+-----------------------+----------------------------------------------------------------------------------------------+ -| 204 | No Content | The VNF instance resource and the associated VNF identifier were deleted successfully. | -+===========+=======================+==============================================================================================+ -| 4xx/5xx | | | -+-----------+-----------------------+----------------------------------------------------------------------------------------------+ - -**3.3 Instantiate VNF** ------------------------ - -+---------------------+-------------------------------------------------------------------------------------------+ -| If Definition | Description | -+=====================+===========================================================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId}/instantiate | -+---------------------+-------------------------------------------------------------------------------------------+ -| Operation | POST | -+---------------------+-------------------------------------------------------------------------------------------+ -| Direction | NFVO->VNFMLCM | -+---------------------+-------------------------------------------------------------------------------------------+ - -3.3.1 **Request** - -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+===========+=============+=====================+===============================================================+ -| flavourId | M | 1 | IdentifierInV nfd | Identifier of the VNF deployment flavour to be instantiated. | -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ -| instantiation | O | 0..1 | IdentifierInVnfd | Identifier of the instantiation | -| LevelId | | | | level of the deployment | -| | | | | flavour to be instantiated. If | -| | | | | not present, the default | -| | | | | instantiation level as | -| | | | | declared in the VNFD is | -| | | | | instantiated. | -| | | | | | -| | | | | Reserved | -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ -| extVirtualLinks | O | 0..N | ExtVirtualLin kData | Information about external VLs to connect the VNF to. | -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ -| extManagedVirtualL | O | 0..N | ExtManaged | Information about internal | -| inks | | | VirtualLinkData | VLs that are managed by | -| | | | | other entities than the VNFM. | -| | | | | | -| | | | | Reserved | -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ -| localization | O | 0..1 | String | Localization language of the VNF to be instantiated can be | -| Language | | | | declared in the VNFD. The value shall comply with the format | -| | | | | defined in IETF RFC 5646 [6]. | -| | | | | | -| | | | | Reserved | -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ -| additionalParams | O | 0..N | KeyValuePair | Additional input parameters for the instantiation process, | -| | | | | specific to the VNF being instantiated. | -+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ - -**ExtVirtualLinkData:** - -+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+==================+===========+=============+=================+==================================================================================+ -| vlInstanceId | O | 0..1 | Identifier | Identifier of the VL instance. | -+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ -| vim | CM | 0..1 | VimInfo | Information about the VIM that manages this resource. | -| | | | | This attribute shall be supported and present if VNF-related resource management | -| | | | | in direct mode is applicable. | -+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ -| resourceProvider | CM | 0..1 | Identifier | Identifies the entity responsible for the management of this resource. | -| Id | | | | This attribute shall be present if | -| | | | | VNF-related resource management in indirect mode is applicable. | -| | | | | | -| | | | | Reserved | -+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ -| resourceId | M | 1 | IdentifierInVim | The identifier of the resource in the scope of the VIM or the resource provider. | -+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ -| extCps | M | 1..N | VnfExtCpData | External CPs of the VNF to be connected to this external VL. | -+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ - - **VimInfo:** - -+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+=================+===========+=============+==============+==========================================================================================================================================+ -| vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, for the purpose of referencing it from other information elements. | -+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ -| vimId | M | 1 | Identifier | The identifier of the VIM. | -+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ -| interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the VIM, including VIM provider type, API version, and protocol type. | -+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ -| accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the VIM. Examples may include those to support different authentication schemes, e.g., OAuth, | -| | | | | Token, etc. | -+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ -| interface | M | 1 | String | Information about the interface endpoint. An example is a URL. | -| Endpoint | | | | Token, etc. | -+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ - - **interfaceInfo:** - -+------------------+---------------+--------------------------------------+ -| **Key Define** | **Content** | **Description** | -+==================+===============+======================================+ -| vimType | String | The type of the VIM. | -+------------------+---------------+--------------------------------------+ -| apiVersion | String | The Version of the api of the VIM. | -+------------------+---------------+--------------------------------------+ -| protocolType | String | http https | -+------------------+---------------+--------------------------------------+ - - **accessInfo:** - -+------------------+---------------+--------------------------+ -| **Key Define** | **Content** | **Description** | -+==================+===============+==========================+ -| tenant | String | Tenant Name of tenant | -+------------------+---------------+--------------------------+ -| username | String | Username for login | -+------------------+---------------+--------------------------+ -| password | String | Password of login user | -+------------------+---------------+--------------------------+ - - **VnfExtCpData:** - -+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ -| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+========================+=====================+=======================+====================+===========================================================+ -| cpdId | M | 1 | IdentifierInVnfd | The identifier of the CPD in the VNFD. | -+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ -| 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. | -+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ -| numDynamicAddre sses | O | 0..1 | Integer | Number of network addresses to be assigned dynamically. | -| | | | | This attribute shall be present if dynamic | -| | | | | addresses need to be configured. | -| | | | | Reserved | -+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ - - **NetworkAddress:** - -+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ -| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=====================+=======================+===================+===============================================================================================================+ -| addressType | M | 1 | Enum | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - MAC | -| | | | | | -| | | | | - IP | -+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ -| l2AddressData | CM | 0..1 | String | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD. | -| | | | | | -| | | | | Shall be present when the addressType is MAC address. | -+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ -| l3AddressData | CM | 0..1 | L3AddressData | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD. | -| | | | | | -| | | | | Shall be present when the addressType is IP address. | -+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ - - **L3AddressData:** - -+-----------------+---------------------+-----------------------+-------------------+-----------------------+ -| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=====================+=======================+===================+=======================+ -| iPAddressType | M | 1 | ENUM | IP address type. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - IPv4 | -| | | | | | -| | | | | - IPv6 | -+-----------------+---------------------+-----------------------+-------------------+-----------------------+ -| iPAddress | M | 1 | String | IP address | -+-----------------+---------------------+-----------------------+-------------------+-----------------------+ - - { - - "flavourId": "flavour\_1", - "instantiationLevelId":"instantiationLevel\_1", - "extVirtualLinks": [ - - { "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** - -+-------------+-------------+---------------+------------------+---------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=============+=============+===============+==================+=========================================================+ -| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. | -+-------------+-------------+---------------+------------------+---------------------------------------------------------+ - - { - - "vnfLcOpId": "1" - - } - - **3.3.3 Response Code** - -+-----------+-----------------------+------------------------------------------------------------------------------------------+ -| Code | Meaning | Description | -+===========+=======================+==========================================================================================+ -| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. | -+-----------+-----------------------+------------------------------------------------------------------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+------------------------------------------------------------------------------------------+ - -**3.4 Terminate VNF** ---------------------- - -+---------------------+-----------------------------------------------------------------------------------------+ -| If Definition | Description | -+=====================+=========================================================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId}/term inate | -+---------------------+-----------------------------------------------------------------------------------------+ -| Operation | POST | -+---------------------+-----------------------------------------------------------------------------------------+ -| Direction | NFVO->VNFMLCM | -+---------------------+-----------------------------------------------------------------------------------------+ - -**3.4.1 Request** - -+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+===================+=============+===============+===============+=========================================================================+ -| terminationType | M | 1 | Enum | Indicates whether forceful or graceful termination is requested. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - FORCEFUL: The VNFM | -| | | | | will shut down the VNF and release the resources immediately | -| | | | | after accepting the request. | -| | | | | - GRACEFUL: The VNFM | -| | | | | | -| | | | | 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 | -| | | | | time to wait for the VNF to be | -| | | | | taken out of service before | -| | | | | shutting down the VNF and | -| | | | | releasing the resources. | -| | | | | The unit is seconds. | -| | | | | If not given and the | -| | | | | "terminationType" | -| | | | | attribute is set to | -| | | | | "GRACEFUL", it is expected | -| | | | | that the VNFM waits for | -| | | | | the successful taking out of | -| | | | | service of the VNF, no | -| | | | | matter how long it takes, | -| | | | | before shutting down the | -| | | | | VNF and releasing the | -| | | | | resources. | -+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ - - { - "terminationType": "GRACEFUL", - "gracefulTerminationTimeout": 120 - - } - -**3.4.2 Response** - -+-------------+-------------+---------------+------------------+---------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=============+=============+===============+==================+=========================================================+ -| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. | -+-------------+-------------+---------------+------------------+---------------------------------------------------------+ - - { - "vnfLcOpId": "2" - - } - -**3.4.3 Response Code** - -+-----------+-----------------------+------------------------------------------------------------------------------------------+ -| Code | Meaning | Description | -+===========+=======================+==========================================================================================+ -| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. | -+-----------+-----------------------+------------------------------------------------------------------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+------------------------------------------------------------------------------------------+ - -**3.5 Query multiple VNF** ---------------------------- -+---------------------+--------------------------------------------------------------+ -| If Definition | Description | -+=====================+==============================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances | -+---------------------+--------------------------------------------------------------+ -| Operation | GET | -+---------------------+--------------------------------------------------------------+ -| Direction | NFVO->VNFMLCM | -+---------------------+--------------------------------------------------------------+ - -**3.5.1 Request** - -+-------------+-------------+---------------+---------------+---------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=============+=============+===============+===============+===============+ -| n/a | | | | | -+-------------+-------------+---------------+---------------+---------------+ - -**3.5.2 Response** - -+--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+=============+===============+========================+======================================================================================+ -| vnfInstanceInfos | M | 0..N | VnfInstanceI nfo | Returned if information about zero or more VNF instances was queried successfully. | -+--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ -+--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ - - **VnfInstanceInfo:** - -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier|Cardinality | Content | Description | -+==================================+==========+============+============================+=======================================================================================================================================================+ -| vnfInstanceId | M | 1 | Identifier | VNF instance identifier. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfInstanceName | M | 1 | String | VNF instance name. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfInstanceDescr iption | M | 1 | String | Human-readable description of the VNF instance. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| onboardedVnfPk gInfoId | M | 1 | Identifier | Identifier of information held by the NFVO about the specific VNF Package on which the VNF is based. This identifier was allocated by the NFVO. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfdId | M | 1 | Identifier | Identifier of the VNFD on which the VNF instance is based. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfdVersion | M | 1 | Identifier | Identifies the version of the VNFD. The value is copied from the VNFD. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfSoftwareVersi on | M | 1 | String | Software version of the VNF. | -| | | | | | -| | | | | The value is copied from the VNFD. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfProvider | M | 1 | String | Name of the person or company providing the VNF. | -| | | | | | -| | | | | The value is copied from the VNFD. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfProductName | M | 1 | String | Name to identify the VNF Product. The value is copied from the VNFD. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| vnfConfigurableP roperties | O | 0..N | KeyValuePair | Current values of the configurable properties of the VNF instance. | -| | | | | | -| | | | | Configurable properties as declared in the VNFD. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| instantiationState | M | 1 | Enum | The instantiation state of the VNF. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - NOT\_INSTANTIATED: The VNF | -| | | | | | -| | | | | instance is terminated or not instantiated. | -| | | | | | -| | | | | - INSTANTIATED: The VNF instance is instantiated. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| instantiatedVnfInf o | CM | 0..1 | InstantiatedVnf Info | Information specific to an instantiated VNF instance. | -| | | | | | -| | | | | This attribute shall be present if the instantiateState attribute value is INSTANTIATED. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| metadata | O | 0..N | KeyValuePair | Additional metadata describing the VNF instance. | -| | | | | | -| | | | | This attribute can be modified with the Modify VNF information operation. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ -| extensions | O | 0..N | KeyValuePair | VNF-specific attributes. | -| | | | | | -| | | | | This attribute can be modified with the Modify VNF information operation. | -+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ - - **InstantiatedVnfInfo:** - -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality| Content | Description | -+==============================+===========+============+==============================+========================================================================================================================+ -| flavourId | M | 1 | IdentifierInVnfd | Identifier of the VNF deployment flavour to be instantiated. | -| | | | | | -| | | | | Reserved | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| vnfState | M | 1 | ENUM | State of the VNF instance. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - STARTED: The VNF instance is up and running. | -| | | | | | -| | | | | - STOPPED: The VNF instance has been shut down. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| scaleStatus | O | 0..N | ScaleInfo | Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled | -| | | | | | -| | | | | w.r.t. that aspect. | -| | | | | | -| | | | | This attribute shall be present if the VNF supports scaling. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| extCpInfo | O | 0..N | CpInfo | Information about the external CPs exposed by the VNF instance. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| extVirtualLink | O | 0..N | ExtVirtualLinkI nfo | Information about the external VLs the VNF instance is connected to. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| extManagedVirtu alLink | O | 0..N | extManagedVir tualLinkInfo | Information about the externally-managed internal VLs of the VNF instance. | -| | | | | | -| | | | | Reserved | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| monitoringParam eters | O | 0..N | MonitoringPar ameter | Active monitoring parameters. | -| | | | | | -| | | | | Reserved | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| localizationLangu age | O | 0..1 | String | Localization language of the VNF to be instantiated. | -| | | | | | -| | | | | The value shall comply with the format defined in IETF RFC 5646 [6]. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| vimInfo | CM | 0..N | VimInfo | Information about VIM(s) managing resources for the VNF instance. | -| | | | | | -| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| vnfcResourceInfo | CM | 0..N | VnfcResourceI nfo | Information about the virtualised compute and storage resource(s) used by the VNFCs of the VNF instance. | -| | | | | | -| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| virtualLinkResourceInfo | CM | 0..N | VirtualLinkRes ourceInfo | Information about the virtualised network resource(s) used by the VLs of the VNF instance. | -| | | | | | -| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ -| virtualStorageResourceInfo | CM | 0..N | VirtualStorage ResourceInfo | Information about the virtualised storage resource(s) used as storage for the VNF instance. | -| | | | | | -| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | -+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ - -**ScaleInfo:** - -+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+==================+=============+====================+====================+=====================================================================================================================================+ -| aspectId | M | 1 | IdentifierInVnfd | Identifier of the scaling aspect. | -+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ -| scaleLevel | M | 1 | Integer | Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. | -+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ -+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ - - **CpInfo:** - -+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+====================+=============+====================+====================+==================================================================+ -| cpInstanceId | M | 1 | Identifier | Identifier of the CP instance. | -+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ -| cpdId | M | 1 | IdentifierInVnfd | Identifier of the CPD, in the VNFD. | -+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ -| addresses | O | 0..N | NetworkAddre ss | List of network addresses that have been configured on the CP. | -+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ - - **ExtVirtualLinkInfo:** - -+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+========================+=============+====================+===================+=================================================+ -| extVirtualLinkId | M | 1 | Identifier | Identifier of the external VL. | -+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ -| resourceHandle | M | 1 | ResourceHand le | Identifier of the resource realizing this VL. | -+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ -| linkPorts | O | 0..N | VnfLinkPort | Link ports of this VL. | -+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ - - **ResourceHandle:** - -+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality| Content | Description | -+=====================+============+============+===================+========================================================================================================+ -| vimId | CM | 0..1 | Identifier | Identifier of the VimInfo information element defining the VIM who manages the resource. | -| | | | | | -| | | | | This attribute shall be present if | -| | | | | | -| | | | | VNF-related resource management in direct mode is applicable. | -| | | | | | -| | | | | The value refers to a vimInfo item in the VnfInstance. | -+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ -| resourceProviderId | CM | 0..1 | Identifier | Identifier of the entity responsible for the management of the resource. | -| | | | | | -| | | | | This attribute shall be present when VNF-related resource management in indirect mode is applicable. | -| | | | | | -| | | | | Reserved | -+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ -| resourceId | M | 1 | IdentifierInVim | Identifier of the resource in the scope of the VIM or the resource provider. | -+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ - - **VnfLinkPort:** - -+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+======================+=============+====================+===================+================================================================================================+ -| resourceHandle | M | 1 | ResourceHand le | Identifier of the virtualised network resource realizing this link port. | -+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ -| cpInstanceId | M | 1 | IdentifierInVnf | External CP of the VNF to be connected to this link port. | -| | | | | | -| | | | | There shall be at most one link port associated with any external connection point instance. | -| | | | | | -| | | | | The value refers to an extCpInfo item in the VnfInstance. | -+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ -+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ - - **VnfcResourceInfo:** - -+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality| Content | Description | -+=======================+============+============+====================+=====================================================================================================================+ -| vnfcInstanceId | M | 1 | IdentifierInVnf | Identifier of this VNFC instance. | -+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| vduId | M | 1 | IdentifierInVnfd | Reference to the applicable Vdu information element in the VNFD. | -+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| computeResourc e | M | 1 | ResourceHand le | Reference to the VirtualCompute resource. | -+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| storageResourceI ds | M | 1..N | IdentifierInVnf | Reference(s) to the VirtualStorage resource(s). | -| | | | | | -| | | | | The value refers to a VirtualStorageResourceInfo item in the VnfInstance. | -+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| reservationId | O | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | -| | | | | | -| | | | | Reserved | -+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ - - **VirtualStorageResourceInfo:** - -+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+=================================+=============+====================+====================+=====================================================================================================================+ -| virtualStorageInst anceId | M | 1 | IdentifierInVnf | Identifier of this virtual storage resource instance. | -+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| virtualStorageDe scId | M | 1 | IdentifierInVnfd | Identifier of the VirtualStorageDesc in the VNFD. | -+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| storageResource | M | 1 | ResourceHand le | Reference to the VirtualStorage resource. | -+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | -| | | | | | -| | | | | Reserved | -+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ - - **VirtualLinkResourceInfo:** - -+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+==============================+===========+==============+====================+=====================================================================================================================+ -| virtualLinkInstanceId | M | 1 | IdentifierInVnf | Identifier of this VL instance. | -+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| virtualLinkDescId | M | 1 | IdentifierInVnfd | Identifier of the Virtual Link Descriptor (VLD) in the VNFD. | -+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| networkResource | M | 1 | ResourceHand le | Reference to the VirtualNetwork resource. | -+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ -| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | -| | | | | | -| | | | | Reserved | -+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ - - [ - - { - - "vnfInstanceId": "1", - "vnfInstanceName": "vFW\_01", - "vnfInstanceDescription": "vFW in Nanjing TIC Edge", - "onboardedVnfPkgInfoId": "1", - "vnfdId": "zte\_vFW\_51610", - "vnfdVersion": "V1.0", - "vnfSoftwareVersion": "V1.0", - "vnfProvider": "ZTE", - "vnfProductName": "vFW", - "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** - -+-----------+-----------------------+----------------------------------+ -| Code | Meaning | Description | -+===========+=======================+==================================+ -| 200 | Ok | The request has succeeded. | -+-----------+-----------------------+----------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+----------------------------------+ - -**3.6 Query single VNF** ------------------------- -+---------------------+------------------------------------------------------------------------------+ -| If Definition | Description | -+=====================+==============================================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId} | -+---------------------+------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+------------------------------------------------------------------------------+ -| Direction | NFVO->VNFMLCM | -+---------------------+------------------------------------------------------------------------------+ - -**3.6.1 Request** - -+-------------+-------------+---------------+---------------+---------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=============+=============+===============+===============+===============+ -| n/a | | | | | -+-------------+-------------+---------------+---------------+---------------+ - -**3.6.2 Response** - -+-------------------+-------------+---------------+------------------------+---------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+===================+=============+===============+========================+=======================================+ -| vnfInstanceInfo | M | 1 | VnfInstanceI nfo | The information of the VNF instance | -+-------------------+-------------+---------------+------------------------+---------------------------------------+ -+-------------------+-------------+---------------+------------------------+---------------------------------------+ - -**3.6.3 Response Code** - -+-----------+-----------------------+----------------------------------+ -| Code | Meaning | Description | -+===========+=======================+==================================+ -| 200 | Ok | The request has succeeded. | -+-----------+-----------------------+----------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+----------------------------------+ - - { - - "vnfInstanceId": "1", - "vnfInstanceName": "vFW\_01", - "vnfInstanceDescription": "vFW in Nanjing TIC Edge", - "onboardedVnfPkgInfoId": "1", - "vnfdId": "zte\_vFW\_51610", - "vnfdVersion": "V1.0", - "vnfSoftwareVersion": "V1.0", - "vnfProvider": "ZTE", - "vnfProductName": "vFW", - "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.7 Get Operation Status** ------------------------------- -+---------------------+-------------------------------------------------------------------------------------------------+ -| If Definition | Description | -+=====================+=================================================================================================+ -| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_lc\_ops/{vnfLcOpId}&response Id={responseId} | -+---------------------+-------------------------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+-------------------------------------------------------------------------------------------------+ -| Direction | NFVO->GVNFM | -+---------------------+-------------------------------------------------------------------------------------------------+ - -**3.7.1 Request** - - None - -**3.7.2 Response** - -+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+=============+===============+===========+==================================================================================+ -| vnfLcOpId | M | 1 | String | Identifier of a VNF lifecycle operation occurrence | -+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ -| vnfInstanceId | M | 1 | String | Identifier of the VNF instance to which the operation applies | -+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ -| lcmOperationType | M | 1 | ENUM | Type of the actual LCM operation represented by this lcm operation occurrence. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - INSTANTIATE:the | -| | | | | | -| | | | | Instantiate VNF LCM operation. | -| | | | | | -| | | | | - SCALE: the Scale VNF LCM operation. | -| | | | | | -| | | | | - SCALE\_TO\_LEVEL: the | -| | | | | | -| | | | | Scale VNF to Level LCM operation. | -| | | | | | -| | | | | - CHANGE\_FLAVOUR: | -| | | | | | -| | | | | the Change VNF Flavour LCM operation. | -| | | | | | -| | | | | - TERMINATE: the | -| | | | | | -| | | | | Terminate VNF LCM operation. | -| | | | | | -| | | | | - HEAL: the Heal VNF LCM operation. | -| | | | | | -| | | | | - OPERATE: the Operate VNF LCM operation. | -| | | | | | -| | | | | - CHANGE\_EXT\_VLS: the | -| | | | | | -| | | | | Change VNF external VLs LCM operation. (Reserved) | -+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ -| startTime | M | 1 | String | Date-time of the start of the operation. | -| | | | | | -| | | | | Representation: String formatted according to RFC 3339 [13] | -+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ -| responseDescriptor | M | 1 | VnfLcOp | Including:responseId,progress,statusstatusDescription | -| | | | Response | | -| | | | Descriptor| ,errorCode,responseHistoryList | -+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ - - **VnfLcOpResponseDescriptor:** - -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+===========================+=================+====================+===============+===========================================================+ -| responseId | M | 1 | Integer | Response Identifier | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| progress | M | 1 | Integer | progress (1-100) | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| lcmOperationStatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - STARTING: The operation is starting.. | -| | | | | | -| | | | | - PROCESSING: The operation is | -| | | | | currently in execution. | -| | | | | | -| | | | | - COMPLETED: The operation has completed successfully. | -| | | | | | -| | | | | - FAILED: The operation has failed and it cannot be | -| | | | | retried or rolled back, as it is determined | -| | | | | that such action won't succeed. | -| | | | | - 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) | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| statusDescripti on | O | 0..1 | String | Status Description of a VNF lifecycle operation | -| | | | | occurrence | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| errorCode | O | 0..1 | Integer | Errorcode | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| responseHistor yList | O | 0..N | VnfLcOpDetail | History Response Messages from the requested | -| | | | | responseId to lastest one. | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ - - **VnfLcOpDetail:** - -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+===========================+=================+====================+===============+===========================================================+ -| responseId | M | 1 | Integer | Response Identifier | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| progress | M | 1 | Integer | progress (1-100) | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| lcmOperationS tatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - STARTING: The operation is starting.. | -| | | | | | -| | | | | - PROCESSING: The operation is currently in execution. | -| | | | | | -| | | | | - COMPLETED: The operation has completed successfully. | -| | | | | | -| | | | | - FAILED: The operation has failed and it | -| | | | | cannot be retried or rolled back, as it is | -| | | | | determined that such action won't succeed. | -| | | | | | -| | | | | | -| | | | | - 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) | -| | | | | | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| statusDescription | O | 0..1 | String | Status Description of a VNF lifecycle operation occurrence| -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ -| errorCode | O | 0..1 | Integer | Errorcode | -+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ - - { - - "vnfLcOpId": "1234566", - - "vnfInstanceId": "1", - "lcmOperationType": "INSTANTIATE", - - "startTime": "2017-01-01T12:00:27.87+00:20", - - "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** - -+-----------+-----------------------+----------------------------------+ -| Code | Meaning | Description | -+===========+=======================+==================================+ -| 200 | Ok | The request has succeeded. | -+-----------+-----------------------+----------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+----------------------------------+ - -**4.Interfaces provided by VNF**\ (Ve-Vnfm-vnf) -=============================================== - -**4.1 Set Initial Configuration** ---------------------------------- - -+---------------------+---------------------------------------------+ -| If Definition | Description | -+=====================+=============================================+ -| URI | http(s)://[hostname][:port]/configuration | -+---------------------+---------------------------------------------+ -| Operation | POST | -+---------------------+---------------------------------------------+ -| Direction | VNFM->VNF | -+---------------------+---------------------------------------------+ - - **4.1.1Request** - -+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=========================+=============+===============+==========================+==============================================================================+ -| vnfInstanceId | M | 1 | Identifier | Identifier of the VNF instance which the VNF to set initial configuration. | -+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ -| vnfConfigurationData | O | 0..1 | VnfConfigur ation | Configuration data for the VNF instance. | -+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ -| vnfcConfigurationData | O | 0..N | VnfcConfigu ration | Configuration data for VNFC instances. | -+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ - -**VnfConfiguration:** - -+-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+=======================+=================+====================+==================================+==============================================================================+ -| cp | O | 0..N | CpConfiguratio n | External CPs | -+-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ -| vnfSpecificData | O | 0..1 | VnfConfigurabl eProperties | Configuration object containing values of VNF configurable properties. | -+-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ - -**CpConfiguration:** - -+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+=================+=============+====================+==============+=======================================================================================================+ -| cpId | M | 1 | Identifier | Uniquely identifies a CP instance within the namespace of a specific VNF instance or VNFC instance. | -+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ -| cpdId | M | 1 | Identifier | Uniquely identifies a type of CP instance within the namespace of a VNFD. | -+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ -| cpAddress | M | 1..N | CpAddress | Address and Port assigned to the CP. | -+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ - - **CpAddress:** - -+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+==========================+=============+====================+===================+===============================================================================================================================================+ -| address | M | 0..N | NetworkAddre ss | The address assigned to the CP instance (e.g. IP address, MAC address, etc.). It shall be provided for configuring a fixed address. | -+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| useDynamicAddress | M | 0..1 | ENUM | It determines whether an address shall be assigned dynamically. It shall be provided if a dynamic address needs to be configured on the CP. | -| | | | | | -| | | | | A cardinality of "0" indicates that no dynamic address needs to be configured on the CP. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - TRUE | -| | | | | | -| | | | | - FALSE | -+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| port | M | 0..1 | Not specified | The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). | -| | | | | | -| | | | | Reserved | -+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ - - **VnfConfigurableProperties:** - -+--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content| Description | -+====================+===========+==============+========+===============================================================================================+ -| autoScalable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-scaling functionality. | -| | | | | | -| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - TRUE | -| | | | | | -| | | | | - FALSE | -+--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ -| autoHealable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-healing functionality. | -| | | | | | -| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. | -| | | | | | -| | | | | Permitted values: | -| | | | | | -| | | | | - TRUE | -| | | | | | -| | | | | - FALSE | -+--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ - -**VnfcConfiguration:** - -+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinalit y | Content | Description | -+========================+=============+====================+====================+========================================================================================+ -| vnfcId | M | 1 | Identifier | Uniquely identifies a VNFC instance within the namespace of a specific VNF instance. | -+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ -| cp | O | 0..N | CpConfiguratio n | Internal CPs. | -+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ -| vnfcSpecificData | O | 0..1 | KeyValuePair | Configuration object containing values of VNFC configurable properties | -+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ - - { - - "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 | -+=======================+=============+===============+===================+=================================+ -| vnfConfigurationData | O | 0..1 | VnfConfiguration | Correspond to the | -| | | | | vnfConfigurationData in the | -| | | | | input information elements of | -| | | | | the SetInitialConfiguration | -| | | | | operation if it has. | -+-----------------------+-------------+---------------+-------------------+---------------------------------+ -| vnfcConfigurationDa | O | 0..N | VnfConfiguration | Correspond to the | -| ta | | | | vnfcConfigurationData in the | -| | | | | input information elements of | -| | | | | the SetInitialConfiguration | -| | | | | operation if it has. | -+-----------------------+-------------+---------------+-------------------+---------------------------------+ - - { - "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** - -+-----------+-----------------------+-----------------------------------------------------------+ -| Code | Meaning | Description | -+===========+=======================+===========================================================+ -| 201 | Created | A VNF Instance identifier was created successfully. | -+-----------+-----------------------+-----------------------------------------------------------+ -| 4xx/5xx | | | -+-----------+-----------------------+-----------------------------------------------------------+ - -.. |image0| image:: VNFM_API.png - :width: 5.07047in - :height: 5.6320 \ No newline at end of file diff --git a/docs/APIs/VNFLCM_API/VNFM_API.png b/docs/APIs/VNFLCM_API/VNFM_API.png deleted file mode 100644 index b267abc2..00000000 Binary files a/docs/APIs/VNFLCM_API/VNFM_API.png and /dev/null differ diff --git a/docs/APIs/VNFLCM_API/index.rst b/docs/APIs/VNFLCM_API/index.rst deleted file mode 100644 index 1e679b15..00000000 --- a/docs/APIs/VNFLCM_API/index.rst +++ /dev/null @@ -1,7 +0,0 @@ -VNF LCM API ------------- - -.. toctree:: - :titlesonly: - - VNFLCM_API diff --git a/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst b/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst deleted file mode 100644 index f7a9c67e..00000000 --- a/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst +++ /dev/null @@ -1,633 +0,0 @@ -.. contents:: - :depth: 3 -.. - -**VNFM Driver API** -**V0.1** - -**1. Scope** -============== -The scope of the present document is to describe the VNFM Driver exposed API specification. - -**2. Terms, Definitions and Abbreviations** -============================================= - -For the purposes of the present document, the following abbreviations apply: - -+-------------+-----------------------------------------------+ -|Abbreviation | | -+-------------+-----------------------------------------------+ -|NFVO |Network Functions Virtualization Orchestrator | -+-------------+-----------------------------------------------+ -|VNFM |Virtual Network Function Manager | -+-------------+-----------------------------------------------+ -|VNF |Virtual Network Function | -+-------------+-----------------------------------------------+ - -Table 2-1 abbreviations - - -**3. Interfaces provided by VNFM Driver** -=========================================== - -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 -juju - -**3.1 Instantiate VNF** ------------------------- - -+--------------+--------------------------------------------------------------+ -|If Definition | Description | -+==============+==============================================================+ -|URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs | -+--------------+--------------------------------------------------------------+ -|Operation | POST | -+--------------+--------------------------------------------------------------+ -|Direction | NSLCM->VNFMDriver | -+--------------+--------------------------------------------------------------+ - -**3.1.1 Request** - -+-----------------------+------------+-------------+----------+------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=======================+============+=============+==========+==============================+ -| vnfInstanceName | M | 1 | String | Human-readable name of the | -| | | | | VNF instance to be created. | -+-----------------------+------------+-------------+----------+------------------------------+ -| vnfPackageId | M | 1 | String | VNF packageId | -+-----------------------+------------+-------------+----------+------------------------------+ -| vnfDescriptorId | M | 1 | String | Information sufficient to | -| | | | | identify the VNF Descriptor | -| | | | | which defines the VNF to | -| | | | | be created. | -+-----------------------+------------+-------------+----------+------------------------------+ -| flavourId | M | 0..1 | String | Reserved | -+-----------------------+------------+-------------+----------+------------------------------+ -|vnfInstanceDescription | M | 0..1 | String | Human-readable | -| | | | | description of the VNF | -| | | | | instance to be created. | -+-----------------------+------------+-------------+----------+------------------------------+ -| extVirtualLink | M | 0..N | String | References to external | -| | | | | virtual links to connect the | -| | | | | VNF to. | -+-----------------------+------------+-------------+----------+------------------------------+ -| additionalParam | M | 0..N | String |Additional parameters | -| | | | |passed by the NFVO as | -| | | | |input to the instantiation | -| | | | |process, specific to the | -| | | | |VNF being instantiated. | -+-----------------------+------------+-------------+----------+------------------------------+ - -**ExtVirtualLinkData:** - -+--------------+------------+-------------+----------+----------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+==============+============+=============+==========+========================================+ -| vlInstanceId | M | 0..1 | String | Identifier of the VL instance | -+--------------+------------+-------------+----------+----------------------------------------+ -| vim | CM | 0..1 | VimInfo | Information about the VIM that | -| | | | | manages this resource. | -| | | | | This attribute shall be supported | -| | | | | and present if VNF-related resource | -| | | | | management in direct applicable. | -+--------------+------------+-------------+----------+----------------------------------------+ -| networkId | M | 1 | String | The network UUID of VIM | -+--------------+------------+-------------+----------+----------------------------------------+ -| cpdId | M | 0..1 | String | Identifier of the external CPD in VNFD | -+--------------+------------+-------------+----------+----------------------------------------+ - -**VimInfo:** - -+------------------+------------+-------------+--------------+------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+==================+============+=============+==============+================================================+ -| vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, | -| | | | | for the purpose of referencing it from | -| | | | | other information elements. | -+------------------+------------+-------------+--------------+------------------------------------------------+ -| vimId | M | 1 | Identifier | The identifier of the VIM. | -+------------------+------------+-------------+--------------+------------------------------------------------+ -| interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the | -| | | | | VIM, including VIM provider type, API | -| | | | | version, and protocol type. | -+------------------+------------+-------------+--------------+------------------------------------------------+ -| accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the | -| | | | | VIM. Examples may include those to support | -| | | | | different authentication schemes, e.g., OAuth, | -| | | | | Token, etc. | -+------------------+------------+-------------+--------------+------------------------------------------------+ -|interfaceEndpoint | M | 1 | String | Information about the interface endpoint. An | -| | | | | example is a URL. | -+------------------+------------+-------------+--------------+------------------------------------------------+ - - -**interfaceInfo:** - -+--------------+------------+-------------+----------+-------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+==============+============+=============+==========+===============================+ -| vimType | M | 1 | String | vim | -+--------------+------------+-------------+----------+-------------------------------+ -| apiVersion | M | 1 | String | | -+--------------+------------+-------------+----------+-------------------------------+ -| protocolType | M | 1 | String | http, https | -+--------------+------------+-------------+----------+-------------------------------+ - - -**accessInfo:** - -+--------------+------------+-------------+----------+-------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+==============+============+=============+==========+===============================+ -| tenant | M | 1 | String | Tenant Name of tenant | -+--------------+------------+-------------+----------+-------------------------------+ -| username | M | 1 | String | Username for login | -+--------------+------------+-------------+----------+-------------------------------+ -| password | M | 1 | String | Password of login user | -+--------------+------------+-------------+----------+-------------------------------+ - -{ - "vnfInstanceName":"vFW", - "vnfPackageId":"1", - "vnfDescriptorId":"1", - "vnfInstanceDescription":"vFW_1", - "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":{ - - …… - } - -} - - -**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 | -+--------------+------------+-------------+-----------+-------------------------------+ - -{ - "jobId":"1", - "vnfInstanceId":"1" - -} - -**3.2 Terminate VNF** ------------------------ - -+---------------+------------------------------------------------------------------+ -| IF Definition | Description | -+===============+==================================================================+ -| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ | -| | {vnfInstanceId}/terminate | -+---------------+------------------------------------------------------------------+ -| Operation | POST | -+---------------+------------------------------------------------------------------+ -| Direction | NSLCM->VNFMDriver | -+---------------+------------------------------------------------------------------+ - -**3.2.1 Request** - -+-----------------+------------+-------------+-----------+----------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+=================+============+=============+===========+==================================+ -| terminationType | M | 1 | Enum | Signals whether forceful or | -| | | | | graceful termination is | -| | | | | requested. | -| | | | | In case of forceful termination, | -| | | | | the VNF is shut down | -| | | | | immediately, and resources are | -| | | | | released. Note that if the VNF | -| | | | | is still in service, this may | -| | | | | adversely impact network | -| | | | | service, and therefore, operator | -| | | | | policies apply to determine if | -| | | | | forceful termination is allowed | -| | | | | in the particular situation. | -| | | | | | -| | | | | In case of graceful termination, | -| | | | | the VNFM first arranges to take | -| | | | | the VNF out of service (by | -| | | | | means out of scope of the | -| | | | | present specification, e.g. | -| | | | | involving interaction with EM, | -| | | | | if required). Once this was | -| | | | | successful, or after a timeout, | -| | | | | the VNFM shuts down the VNF | -| | | | | and releases the resources. | -+-----------------+------------+-------------+-----------+----------------------------------+ -| graceful | M | 0..1 | Time | The time interval (second) to | -| Termination | | | Duration | wait for the VNF to be taken out | -| Timeout | | | | of service during graceful | -| | | | | termination, before shutting | -| | | | | down the VNF and releasing the | -| | | | | resources. | -| | | | | If not given, it is expected | -| | | | | that the VNFM waits for the | -| | | | | successful taking out of service | -| | | | | of the VNF, no matter how long | -| | | | | it takes, before shutting down | -| | | | | the VNF and releasing the | -| | | | | resources (see note). | -| | | | | | -| | | | | Minimum timeout or timeout | -| | | | | range are specified by the VNF | -| | | | | Provider (e.g. defined in the | -| | | | | VNFD or communicated by | -| | | | | other means). | -| | | | | | -| | | | | Not relevant in case of forceful | -| | | | | termination. | -+-----------------+------------+-------------+-----------+----------------------------------+ - -{ - "vnfInstanceId":"1", - "terminationType":"graceful", - "gracefulTerminationTimeout":"60" - -} - -**3.2.2 Response** - -+--------------+------------+-------------+-----------+--------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+==============+============+=============+===========+================================+ -| jobId | M | 1 | Identifier| Identifier of the VNF lifecycle| -| | | | | operation occurrence. | -| | | | | | -| | | | | [lifecycleOperationOccurren | -| | | | | ceId] | -+--------------+------------+-------------+-----------+--------------------------------+ - -{ - "jobId":"1" - -} - - -**3.3 Query VNF** ------------------- - -+---------------+------------------------------------------------------------------+ -| IF Definition | Description | -+===============+==================================================================+ -| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ | -| | {vnfInstanceId} | -+---------------+------------------------------------------------------------------+ -| Operation | GET | -+---------------+------------------------------------------------------------------+ -| Direction | NSLCM->VNFMDriver | -+---------------+------------------------------------------------------------------+ - -**3.3.1 Request** - -VNF filter: vnfInstanceId via url [R1] - -**3.3.2 Response** - -+--------------+------------+-------------+-----------+---------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+==============+============+=============+===========+=================================+ -| vnfInfo | M | o..N | vnfInfo | The information items about the | -| | | | | selected VNF instance(s) that | -| | | | | are returned. | -| | | | | | -| | | | | If attributeSelector is present,| -| | | | | only the attributes listed in | -| | | | | attributeSelector will be | -| | | | | returned for the selected | -| | | | | VNF instance(s). | -| | | | | See note. | -+--------------+------------+-------------+-----------+---------------------------------+ - -**VnfInfo Table** - -+-----------------+------------+-------------+----------+---------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Description | -+=================+============+=============+==========+=================================+ -| vnfInstanceId | M | 1 | String | VNF instance identifier. | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfInstanceName | M | o..1 | String | VNF instance name. See note. | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfInstance | M | o..1 | String | Human-readable description of | -| Description | | | | the VNF instance. | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfdId | M | 1 | String | Identifier of the VNFD on which | -| | | | | the VNF instance is based. | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfPackageId | M | o..1 | String | Identifier of the VNF Package | -| | | | | used to manage the lifecycle of | -| | | | | the VNF instance. See note. | -| | | | | Shall be present for an | -| | | | | instantiated VNF instance. | -+-----------------+------------+-------------+----------+---------------------------------+ -| version | M | 1 | String | Version of the VNF. | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfProvider | M | 1 | String | Name of the person or company | -| | | | | providing the VNF. | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfType | M | 1 | String | VNF Application Type | -+-----------------+------------+-------------+----------+---------------------------------+ -| vnfStatus | M | 1 | Enum | The instantiation state of the | -| | | | | VNF. Possible values: | -| | | | | INACTIVE (Vnf is terminated or | -| | | | | not instantiated ), | -| | | | | ACTIVE (Vnf is instantiated). | -| | | | | [instantiationState] | -+-----------------+------------+-------------+----------+---------------------------------+ - -{ - "vnfInfo": - { - - "nfInstanceId":"1", - "vnfInstanceName":"vFW", - "vnfInstanceDescription":"vFW in Nanjing TIC Edge", - "vnfdId":"1", - "vnfPackageId":"1", - "version":"V1.1", - "vnfProvider":"ZTE", - "vnfType":"vFW", - "vnfStatus":" ACTIVE", - - } - -} - -**3.4 Get operation status** ------------------------------ - -+---------------+------------------------------------------------------------------+ -| IF Definition | Description | -+===============+==================================================================+ -| URI | http(s)://[hostname][:port]/api/{vnfmtype} | -| | /v1/{vnfmid}/jobs/{jobid}&responseId={ responseId } | -+---------------+------------------------------------------------------------------+ -| Operation | GET | -+---------------+------------------------------------------------------------------+ -| Direction | NSLCM->VNFMDriver | -+---------------+------------------------------------------------------------------+ - -**3.4.1 Request** - - None - -**3.4.2 Response** - -+--------------------+------------+-------------+-------------+---------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+============+=============+=============+=================================+ -| jobId | M | 1 | String | Job ID | -+--------------------+------------+-------------+-------------+---------------------------------+ -| responseDescriptor | M | 1 | - | Including: | -| | | | | vnfStatus, statusDescription, | -| | | | | errorCode,progress, | -| | | | | responseHistoryList, responseId | -+--------------------+------------+-------------+-------------+---------------------------------+ -| status | M | 1 | String | JOB status | -| | | | | started | -| | | | | processing | -| | | | | finished | -| | | | | error | -+--------------------+------------+-------------+-------------+---------------------------------+ -| progress | M | 1 | Integer | progress (1-100) | -+--------------------+------------+-------------+-------------+---------------------------------+ -| statusDescription | M | 1 | String | Progress Description | -+--------------------+------------+-------------+-------------+---------------------------------+ -| errorCode | M | 1 | Integer | Errorcode | -+--------------------+------------+-------------+-------------+---------------------------------+ -| responseId | M | 1 | Integer | Response Identifier | -+--------------------+------------+-------------+-------------+---------------------------------+ -| response | M | o..N | ArrayList<> | History Response Messages | -| HistoryList | | | | from the requested | -| | | | | responseId to lastest one. | -| | | | | Including fields: | -| | | | | vnfStatus, | -| | | | | statusDescription, | -| | | | | errorCode, | -| | | | | progress, | -| | | | | responseId | -+--------------------+------------+-------------+-------------+---------------------------------+ - -{ - "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** ------------------- - -+---------------+------------------------------------------------------------------+ -| IF Definition | Description | -+===============+==================================================================+ -| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ | -| | {vnfInstanceId}/scale | -+---------------+------------------------------------------------------------------+ -| Operation | POST | -+---------------+------------------------------------------------------------------+ -| Direction | NSLCM->VNFMDriver | -+---------------+------------------------------------------------------------------+ - -**3.5.1 Request** - - -+---------------+------------+-------------+-------------+---------------------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+===============+============+=============+=============+=============================================+ -| type | M | 1 | Enum | Defines the type of the scale operation | -| | | | | requested (scale out, scale in). The set of | -| | | | | types actually supported depends on the | -| | | | | capabilities of the VNF being managed, as | -| | | | | 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 | -+---------------+------------+-------------+-------------+---------------------------------------------+ -| numberOfSteps | M | 1 | Integer | Number of scaling steps to be executed as | -| | | | | part of this ScaleVnf operation. It shall | -| | | | | be a positive number. | -| | | | | Defaults to 1. | -| | | | | The VNF Provider defines in the VNFD | -| | | | | 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. | -| | | | | Reserved | -+---------------+------------+-------------+-------------+---------------------------------------------+ -| NOTE 1: ETSI GS NFV-IFA 010 [2] specifies that the lifecycle management operations that expand | -| or contract a VNF instance include scale in, scale out, scale up and scale down. Vertical | -| 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 | -| aspect. | -+------------------------------------------------------------------------------------------------------+ - -{ - "vnfInstanceId":"5", - "type":" SCALE_OUT", - "aspectId":"101", - "numberOfSteps":"1", - "additionalParam":{ - - …… - - } - -} - -**3.5.2 Response** - -+--------------------+------------+-------------+-------------+---------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+============+=============+=============+=================================+ -| jobId | M | 1 | String | The identifier of the VNF | -| | | | | lifecycle operation occurrence. | -+--------------------+------------+-------------+-------------+---------------------------------+ - -{ - "jobId":"1" - -} - -**3.6 Heal VNF** ------------------- - -+---------------+------------------------------------------------------------------+ -| IF Definition | Description | -+===============+==================================================================+ -| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs | -| | {vnfInstanceId}/heal | -+---------------+------------------------------------------------------------------+ -| Operation | POST | -+---------------+------------------------------------------------------------------+ -| Direction | NSLCM->VNFMDriver | -+---------------+------------------------------------------------------------------+ - -**3.6.1 Request** - -+--------------------+------------+-------------+-------------+---------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+============+=============+=============+=================================+ -| action | M | 1 | String | Indicates the action to be done | -| | | | | upon the given virtual machine. | -| | | | | Only "vmReset" is supported | -| | | | | currently. | -+--------------------+------------+-------------+-------------+---------------------------------+ -| affectedvm | M | 1 | AffectedVm | Defines the information of | -| | | | | virtual machines. | -+--------------------+------------+-------------+-------------+---------------------------------+ - -**AffectedVm** - -+--------------------+------------+-------------+-------------+---------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+============+=============+=============+=================================+ -| vimid | M | 1 | String | Defines the UUID of virtual | -| | | | | machine. | -+--------------------+------------+-------------+-------------+---------------------------------+ -| vduid | M | 1 | String | Defines the id of vdu. | -+--------------------+------------+-------------+-------------+---------------------------------+ -| vmname | M | 1 | | Defines the name of virtual | -| | | | | machines. | -+--------------------+------------+-------------+-------------+---------------------------------+ - -{ - "action": "vmReset", - "affectedvm": - { - - "vmid": "804cca71-9ae9-4511-8e30-d1387718caff", - "vduid": "vdu_100", - "vmname": "ZTE_SSS_111_PP_2_L" - - }, - -} - -**3.6.2 Response** - -+--------------------+------------+-------------+-------------+---------------------------------+ -| Parameter | Qualifier | Cardinality | Content | Description | -+====================+============+=============+=============+=================================+ -| jobId | M | 1 | Identifier | The identifier of the VNF | -| | | | | healing operation occurrence. | -+--------------------+------------+-------------+-------------+---------------------------------+ - -{ - "jobId":"1" - -} diff --git a/docs/APIs/VNFMDriver_API/index.rst b/docs/APIs/VNFMDriver_API/index.rst deleted file mode 100644 index cf017587..00000000 --- a/docs/APIs/VNFMDriver_API/index.rst +++ /dev/null @@ -1,7 +0,0 @@ -VNFM Driver API ---------------- - -.. toctree:: - :titlesonly: - - VNFM_Driver_API \ No newline at end of file diff --git a/docs/APIs/index.rst b/docs/APIs/index.rst deleted file mode 100644 index b05bede2..00000000 --- a/docs/APIs/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - - -VF-C Offered APIs -================= -List VF-C APIs offered. - - -NS LCM API ----------- - -Network services lifecycle management APIs - - -.. toctree:: - :maxdepth: 1 - - NSLCM_API/index - - -VNFM Driver API ---------------- - -VNFM Driver component northbound APIs - -.. toctree:: - :maxdepth: 1 - - VNFMDriver_API/index - - - -VNF LCM API ------------ - -VNF lifecycle management APIs - -.. toctree:: - :maxdepth: 1 - - VNFLCM_API/index - diff --git a/docs/architecture.rst b/docs/architecture.rst deleted file mode 100644 index dc7ef09b..00000000 --- a/docs/architecture.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - - -VF-C Architecture ------------------ -Following is the VF-C architecture. - - -|image0| - -.. |image0| image:: vfc-arc.png - :width: 5.97047in - :height: 5.63208in - - -VF-C as one controller in ONAP includes two components NFV-O and GVNFM. - -For NFV-O, it provides north bound interface to SO to take part in fulfilling the orchestration and operation of end2end service.and provides standard south bound interface to VNFMs. - -For GVNFM, it provides LCM for VNFs which do not require a vendor VNFM and works with NFV-O component to take part in fulfilling the LCM of NS. - -In addition, VF-C provides interface to Policy and works with DCAE for Close Loop Automation. - -As you can see in this picture,VF-C has many dependencies with other projects,such as SO,Policy,A&AI,SDC,DCAE,Multi-cloud and so on. \ No newline at end of file diff --git a/docs/components.png b/docs/components.png deleted file mode 100644 index 253e63bf..00000000 Binary files a/docs/components.png and /dev/null differ diff --git a/docs/delivery.rst b/docs/delivery.rst deleted file mode 100644 index 1a6ab3b4..00000000 --- a/docs/delivery.rst +++ /dev/null @@ -1,27 +0,0 @@ -VF-C Delivery -------------- -VF-C includs the following components in R1. - -|image0| - -.. |image0| image:: components.png - :width: 5.97047in - :height: 5.63208in - -VF-C incloudes several components in ONAP R1. - -Catalog is used to store the package distributed by SDC, it is a runtime catalog. - -Workflow include two micro service, one is workflow manage service and the other is workflow-activiti engine serivce, this two service will onboard workflow to workflow engine and parse workflow. - - -For NS lifecyle manager,it mainly completes the NS lifecycle management,such as NS Instantiation/termination and auto-healing. - -For Resource manager, it will communicate with NS lifecycle manager to update intance date to A&AI. - -In VF-C southbound, it includs Gvnfmdriver and SVNFM driver which will interact with GVNFM and Vendor VNFM respectively to execute VNF lifecycle management, -VF-C provides vnfm driver northbound api,then Vendor can implement this APIs to integrate with VF-C. - -For the EMS driver,it can collect VNF lay’s Fcaps data from Vendor EMS, and then translate and put these data to DCAE Vescollector - - diff --git a/docs/index.rst b/docs/index.rst index 8311287b..5538de9d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,24 +1,16 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. _vfc_index: +VF-C(Virtual Function Controller) +--------------------------------- -ONAP VF-C -========= +As part of the integration between OpenECOMP and OPEN-O, this proposed project VF-C leverages ETSI NFV MANO architecture and information model as a reference, and implements full life cycle management and FCAPS of VNF and NS. -As part of the integration between OpenECOMP and OPEN-O, VF-C leverages ETSI NFV MANO architecture and information model as a reference, and implements life cycle management and FCAPS of VNF and NS. - -* support NS and VNF lifecycle management based on the ONAP tosca and yang data model and workflow -* support integration with multi VNFMs via drivers, which include vendors VNFM and generic VNFM -* support integration with multi VNFs via generic VNFM, which does not provide VNFM function -* support integration with multi VIMS via Multi-VIM, which include the opensource and commercial VIMs -* support microservice architecture and model driven resource orchestration and management +This document is aimed to give the users some brief introductions on VF-C from different aspects. The users could find useful information, e.g. the architecuture, the APIs and the installation steps, etc. as well as the release notes of VF-C in this document. .. toctree:: :maxdepth: 1 + + platform/index.rst + release-notes.rst - architecture.rst - delivery.rst - APIs/index - installation.rst diff --git a/docs/installation.rst b/docs/installation.rst deleted file mode 100644 index 0d361716..00000000 --- a/docs/installation.rst +++ /dev/null @@ -1,175 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -VF-C Installation ------------------ -Describe the environment and steps to install VF-C components. - - -Environment -+++++++++++ -VF-C components can run as docker, docker service should be installed before install VF-C components. - -The following scripts show the docker service install commands in centos7. - -:: - - yum install docker - systemctl enable docker.service - systemctl start docker.service - -Steps -+++++ - -- Install MSB components. - -VF-C components need to register to MSB when starting, so MSB components should be installed first, you can ref the following link to install MSB. - -http://onap.readthedocs.io/en/latest/submodules/msb/apigateway.git/docs/platform/installation.html - -Note: In the following steps, we use ${MSB_IP} as the IP of msb_apigateway component. - -- Install vfc-nfvo-lcm component. - -:: - - docker run -d --name vfc-nslcm -v /var/lib/mysql -p 8403:8403 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nslcm - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/nslcm/v1/swagger.json - -- Install vfc-nfvo-wfengine components. - -Totally, there are two docker images should be installed before you can use the workflow normally, \ -one is wfengine-activiti for manage the original activiti service, the other is for manage engine service. - - -1. Pull related docker images - -:: - - docker pull $NEXUS_DOCKER_REPO/onap/vfc/wfengine-activiti:$DOCKER_IMAGE_VERSION - docker pull $NEXUS_DOCKER_REPO/onap/vfc/wfengine-mgrservice:$DOCKER_IMAGE_VERSION - -2. Run the two docker images - -The first container is wfengine-activiti,there are some parameters should be injected into container. \ -OPENPALETTE_MSB_IP represents msb server address and OPENPALETTE_MSB_PORT is the relative port, \ -SERVICE_IP represents the docker run environment server address. - -:: - - docker run -i -t -d --name vfc_wfengine_activiti -p 8804:8080 -e SERVICE_IP=$OPENO_IP -e SERVICE_PORT=8804 - -e OPENPALETTE_MSB_IP=$OPENO_IP -e OPENPALETTE_MSB_PORT=80 $NEXUS_DOCKER_REPO/onap/vfc/wfengine-activiti:$DOCKER_IMAGE_VERSION - - docker run -i -t -d --name vfc_wfengine_mgrservice -p 8805:10550 -e SERVICE_IP=$OPENO_IP -e SERVICE_PORT=8805 - -e OPENPALETTE_MSB_IP=$OPENO_IP -e OPENPALETTE_MSB_PORT=80 $NEXUS_DOCKER_REPO/onap/vfc/wfengine-mgrservice:$DOCKER_IMAGE_VERSION - -- Install vfc-nfvo-catalog component. - -:: - - docker run -d --name vfc-catalog -v /var/lib/mysql -p 8806:8806 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/catalog - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/catalog/v1/swagger.json - -- Install vfc-nfvo-resmanagement component. - -:: - - docker run -d --name vfc-resmanagement -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/resmanagement - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/resmgr/v1/swagger.json - -- Install vfc-nfvo-resmanagement component. - -:: - - docker run -d --name vfc-resmanagement -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/resmanagement - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/resmgr/v1/swagger.json - -- Install vfc-nfvo-sfcdriver component. - -:: - - docker run -d --name vfc-ztesdncdriver -p 8411:8411 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/ztesdncdriver - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/ztesdncdriver/v1/swagger - -- Install vfc-nfvo-emsdriver component. - -:: - - docker run -d --name vfc-emsdriver -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/emsdriver - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/emsdriver/v1/swagger.json - -- Install vfc-gvnfm components. - -:: - - docker run -d --name vfc-vnflcm -v /var/lib/mysql -p 8801:8801 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnflcm - docker run -d --name vfc-vnfmgr -v /var/lib/mysql -p 8803:8803 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfmgr - docker run -d --name vfc-vnfres -v /var/lib/mysql -p 8802:8802 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfres - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/vnflcm/v1/swagger.json - curl http://${MSB_IP}:80/api/vnfmgr/v1/swagger.json - curl http://${MSB_IP}:80/api/vnfres/v1/swagger.json - -- Install vfc-gvnfmdriver components. - -:: - - docker run -d --name vfc-gvnfmdriver -p 8484:8484 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/gvnfmdriver - docker run -d --name vfc-jujudriver -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/jujudriver - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/gvnfmdriver/v1/swagger.json - curl http://${MSB_IP}:80/openoapi/jujuvnfm/v1/swagger.json - -- Install vfc-svnfmdriver components. - -:: - - docker run -d --name vfc-ztevmanagerdriver -p 8410:8410 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/ztevmanagerdriver - docker run -d --name vfc-svnfm-huawei -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei - docker run -d --name vfc-svnfm-nokia -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/nokia - -For testing, we can use curl command to access the swagger api. - -:: - - curl http://${MSB_IP}:80/api/ztevmanagerdriver/v1/swagger.json - curl http://${MSB_IP}:80/api/hwvnfm/v1/swagger.json - curl http://${MSB_IP}:80/api/nokiavnfmdriver/v1/swagger.json diff --git a/docs/logging.rst b/docs/logging.rst deleted file mode 100644 index 8d480e28..00000000 --- a/docs/logging.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging & Diagnostic Information --------------------------------- -Description of how to interact with and diagnose problems with the components -as delivered. - -Where to Access Information -+++++++++++++++++++++++++++ - - -Error / Warning Messages -++++++++++++++++++++++++ diff --git a/docs/offeredapis.rst b/docs/offeredapis.rst deleted file mode 100644 index 79af6645..00000000 --- a/docs/offeredapis.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - - -VF-C Offered APIs -================= -List VF-C APIs offered. - - -NS LCM API ----------- - -Network services lifecycle management APIs - - -.. toctree:: - :maxdepth: 1 - - APIs/NSLCM_API/index - - -VNFM Driver API ---------------- - -VNFM Driver component northbound APIs - -.. toctree:: - :maxdepth: 1 - - APIs/VNFMDriver_API/index - - - -VNF LCM API ------------ - -VNF lifecycle management APIs - -.. toctree:: - :maxdepth: 1 - - APIs/VNFLCM_API/index - 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 new file mode 100644 index 00000000..bada11e7 --- /dev/null +++ b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst @@ -0,0 +1,1086 @@ + + +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": { + + "context":{ + + "type": "object", + + "properties": { + + "globalCustomerId":{ + + "type": "string", + "description": "the global customer id" + + }, + + "serviceType":{ + "type": "string", + + "description": "service type" + + } + + } + + }, + + "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/platform/APIs/NSLCM_API/index.rst b/docs/platform/APIs/NSLCM_API/index.rst new file mode 100644 index 00000000..ffbf0756 --- /dev/null +++ b/docs/platform/APIs/NSLCM_API/index.rst @@ -0,0 +1,7 @@ +NSLCM API +--------- + +.. toctree:: + :titlesonly: + +.. literalinclude:: NSLCM_API_Specification_v0.1.rst \ No newline at end of file diff --git a/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst b/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst new file mode 100644 index 00000000..c6db4326 --- /dev/null +++ b/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst @@ -0,0 +1,1684 @@ +.. contents:: + :depth: 3 +.. + + **VNFM API** + **V0.1** + +**1 Scope** +============= + + The scope of the present document is to describe the VNFM exposed + API specification over Or-Vnfm Reference Point. + +**2 Terms, Definitions and Abbreviations** +=========================================== + + For the purposes of the present document, the following + abbreviations apply: + ++------------------------+-----------------------------------------------------+ +| **Abbreviation** | | ++========================+=====================================================+ +| NFVO | Network Functions Virtualization Orchestrator | ++------------------------+-----------------------------------------------------+ +| VNFM | Virtual Network Function Manager | ++------------------------+-----------------------------------------------------+ +| VNF | Virtual Network Function | ++------------------------+-----------------------------------------------------+ + +Table 2-1 abbreviations + +**3. Interfaces provided by VNFM** (Or-Vnfm/Ve-Vnfm-vnf) +========================================================== + + Interfaces use RESTful API and the format is as follows: + http(s)://[hostname][:port]/gvnfmapi/lcm/v1/[……] + +|image0| + + + **{apiRoot} is** http(s)://[hostname][:port]/gvnfmapi + +**3.1 Create VNF Identifier** +----------------------------- + ++---------------------+--------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances | ++---------------------+--------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+--------------------------------------------------------------+ + +**3.1.1 Request** + ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===========================+=============+===============+==================+=====================================================================================+ +| vnfdId | M | 1 | Identifier | Identifier that identifies the VNFD which defines the VNF instance to be created. | ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ +| vnfInstanceName | M | 1 | String | Human-readable name of the VNF instance to be created. | ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ +| vnfInstanceDescription | O | 0..1 | String | Human-readable description of the VNF instance to be created. | ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ + + { + "vnfdId": "zte\_vFW\_51610", + "vnfInstanceName": "vFW\_01", + "vnfInstanceDescription": " vFW in Nanjing TIC Edge" + + } + +**3.1.2 Response** + ++-----------------+-------------+---------------+------------------+-----------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=================+=============+===============+==================+=========================================+ +| vnfInstanceId | M | 1 | Identifier | VNF instance identifier just created. | ++-----------------+-------------+---------------+------------------+-----------------------------------------+ + + { + "vnfInstanceId": "1" + + } + +**3.1.3 Response Code** + ++-----------+-----------------------+-----------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+===========================================================+ +| 201 | Created | A VNF Instance identifier was created successfully. | ++-----------+-----------------------+-----------------------------------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+-----------------------------------------------------------+ + +**3.2 Delete VNF Identifier** +----------------------------- + ++---------------------+------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId} | ++---------------------+------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+------------------------------------------------------------------------------+ + +**3.2.1 Request** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.2.2 Response** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.2.3 Response Code** + ++--------+-----------+-------------------+ +| Code | Meaning | Description | ++--------+-----------+-------------------+ + ++-----------+-----------------------+----------------------------------------------------------------------------------------------+ +| 204 | No Content | The VNF instance resource and the associated VNF identifier were deleted successfully. | ++===========+=======================+==============================================================================================+ +| 4xx/5xx | | | ++-----------+-----------------------+----------------------------------------------------------------------------------------------+ + +**3.3 Instantiate VNF** +----------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+===========================================================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId}/instantiate | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+-------------------------------------------------------------------------------------------+ + +3.3.1 **Request** + ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+===========+=============+=====================+===============================================================+ +| flavourId | M | 1 | IdentifierInV nfd | Identifier of the VNF deployment flavour to be instantiated. | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| instantiation | O | 0..1 | IdentifierInVnfd | Identifier of the instantiation | +| LevelId | | | | level of the deployment | +| | | | | flavour to be instantiated. If | +| | | | | not present, the default | +| | | | | instantiation level as | +| | | | | declared in the VNFD is | +| | | | | instantiated. | +| | | | | | +| | | | | Reserved | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| extVirtualLinks | O | 0..N | ExtVirtualLin kData | Information about external VLs to connect the VNF to. | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| extManagedVirtualL | O | 0..N | ExtManaged | Information about internal | +| inks | | | VirtualLinkData | VLs that are managed by | +| | | | | other entities than the VNFM. | +| | | | | | +| | | | | Reserved | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| localization | O | 0..1 | String | Localization language of the VNF to be instantiated can be | +| Language | | | | declared in the VNFD. The value shall comply with the format | +| | | | | defined in IETF RFC 5646 [6]. | +| | | | | | +| | | | | Reserved | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| additionalParams | O | 0..N | KeyValuePair | Additional input parameters for the instantiation process, | +| | | | | specific to the VNF being instantiated. | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ + +**ExtVirtualLinkData:** + ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==================+===========+=============+=================+==================================================================================+ +| vlInstanceId | O | 0..1 | Identifier | Identifier of the VL instance. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| vim | CM | 0..1 | VimInfo | Information about the VIM that manages this resource. | +| | | | | This attribute shall be supported and present if VNF-related resource management | +| | | | | in direct mode is applicable. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| resourceProvider | CM | 0..1 | Identifier | Identifies the entity responsible for the management of this resource. | +| Id | | | | This attribute shall be present if | +| | | | | VNF-related resource management in indirect mode is applicable. | +| | | | | | +| | | | | Reserved | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| resourceId | M | 1 | IdentifierInVim | The identifier of the resource in the scope of the VIM or the resource provider. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| extCps | M | 1..N | VnfExtCpData | External CPs of the VNF to be connected to this external VL. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ + + **VimInfo:** + ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++=================+===========+=============+==============+==========================================================================================================================================+ +| vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, for the purpose of referencing it from other information elements. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | Identifier | The identifier of the VIM. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the VIM, including VIM provider type, API version, and protocol type. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the VIM. Examples may include those to support different authentication schemes, e.g., OAuth, | +| | | | | Token, etc. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| interface | M | 1 | String | Information about the interface endpoint. An example is a URL. | +| Endpoint | | | | Token, etc. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ + + **interfaceInfo:** + ++------------------+---------------+--------------------------------------+ +| **Key Define** | **Content** | **Description** | ++==================+===============+======================================+ +| vimType | String | The type of the VIM. | ++------------------+---------------+--------------------------------------+ +| apiVersion | String | The Version of the api of the VIM. | ++------------------+---------------+--------------------------------------+ +| protocolType | String | http https | ++------------------+---------------+--------------------------------------+ + + **accessInfo:** + ++------------------+---------------+--------------------------+ +| **Key Define** | **Content** | **Description** | ++==================+===============+==========================+ +| tenant | String | Tenant Name of tenant | ++------------------+---------------+--------------------------+ +| username | String | Username for login | ++------------------+---------------+--------------------------+ +| password | String | Password of login user | ++------------------+---------------+--------------------------+ + + **VnfExtCpData:** + ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ +| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++========================+=====================+=======================+====================+===========================================================+ +| cpdId | M | 1 | IdentifierInVnfd | The identifier of the CPD in the VNFD. | ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ +| 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. | ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ +| numDynamicAddre sses | O | 0..1 | Integer | Number of network addresses to be assigned dynamically. | +| | | | | This attribute shall be present if dynamic | +| | | | | addresses need to be configured. | +| | | | | Reserved | ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ + + **NetworkAddress:** + ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ +| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=====================+=======================+===================+===============================================================================================================+ +| addressType | M | 1 | Enum | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - MAC | +| | | | | | +| | | | | - IP | ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ +| l2AddressData | CM | 0..1 | String | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD. | +| | | | | | +| | | | | Shall be present when the addressType is MAC address. | ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ +| l3AddressData | CM | 0..1 | L3AddressData | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD. | +| | | | | | +| | | | | Shall be present when the addressType is IP address. | ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ + + **L3AddressData:** + ++-----------------+---------------------+-----------------------+-------------------+-----------------------+ +| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=====================+=======================+===================+=======================+ +| iPAddressType | M | 1 | ENUM | IP address type. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - IPv4 | +| | | | | | +| | | | | - IPv6 | ++-----------------+---------------------+-----------------------+-------------------+-----------------------+ +| iPAddress | M | 1 | String | IP address | ++-----------------+---------------------+-----------------------+-------------------+-----------------------+ + + { + + "flavourId": "flavour\_1", + "instantiationLevelId":"instantiationLevel\_1", + "extVirtualLinks": [ + + { "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** + ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+==================+=========================================================+ +| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. | ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ + + { + + "vnfLcOpId": "1" + + } + + **3.3.3 Response Code** + ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==========================================================================================+ +| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ + +**3.4 Terminate VNF** +--------------------- + ++---------------------+-----------------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+=========================================================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId}/term inate | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+-----------------------------------------------------------------------------------------+ + +**3.4.1 Request** + ++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===================+=============+===============+===============+=========================================================================+ +| terminationType | M | 1 | Enum | Indicates whether forceful or graceful termination is requested. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - FORCEFUL: The VNFM | +| | | | | will shut down the VNF and release the resources immediately | +| | | | | after accepting the request. | +| | | | | - GRACEFUL: The VNFM | +| | | | | | +| | | | | 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 | +| | | | | time to wait for the VNF to be | +| | | | | taken out of service before | +| | | | | shutting down the VNF and | +| | | | | releasing the resources. | +| | | | | The unit is seconds. | +| | | | | If not given and the | +| | | | | "terminationType" | +| | | | | attribute is set to | +| | | | | "GRACEFUL", it is expected | +| | | | | that the VNFM waits for | +| | | | | the successful taking out of | +| | | | | service of the VNF, no | +| | | | | matter how long it takes, | +| | | | | before shutting down the | +| | | | | VNF and releasing the | +| | | | | resources. | ++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ + + { + "terminationType": "GRACEFUL", + "gracefulTerminationTimeout": 120 + + } + +**3.4.2 Response** + ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+==================+=========================================================+ +| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. | ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ + + { + "vnfLcOpId": "2" + + } + +**3.4.3 Response Code** + ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==========================================================================================+ +| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ + +**3.5 Query multiple VNF** +--------------------------- ++---------------------+--------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances | ++---------------------+--------------------------------------------------------------+ +| Operation | GET | ++---------------------+--------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+--------------------------------------------------------------+ + +**3.5.1 Request** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.5.2 Response** + ++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+=============+===============+========================+======================================================================================+ +| vnfInstanceInfos | M | 0..N | VnfInstanceI nfo | Returned if information about zero or more VNF instances was queried successfully. | ++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ ++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ + + **VnfInstanceInfo:** + ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier|Cardinality | Content | Description | ++==================================+==========+============+============================+=======================================================================================================================================================+ +| vnfInstanceId | M | 1 | Identifier | VNF instance identifier. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfInstanceName | M | 1 | String | VNF instance name. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfInstanceDescr iption | M | 1 | String | Human-readable description of the VNF instance. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| onboardedVnfPk gInfoId | M | 1 | Identifier | Identifier of information held by the NFVO about the specific VNF Package on which the VNF is based. This identifier was allocated by the NFVO. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfdId | M | 1 | Identifier | Identifier of the VNFD on which the VNF instance is based. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfdVersion | M | 1 | Identifier | Identifies the version of the VNFD. The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfSoftwareVersi on | M | 1 | String | Software version of the VNF. | +| | | | | | +| | | | | The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfProvider | M | 1 | String | Name of the person or company providing the VNF. | +| | | | | | +| | | | | The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfProductName | M | 1 | String | Name to identify the VNF Product. The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfConfigurableP roperties | O | 0..N | KeyValuePair | Current values of the configurable properties of the VNF instance. | +| | | | | | +| | | | | Configurable properties as declared in the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| instantiationState | M | 1 | Enum | The instantiation state of the VNF. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - NOT\_INSTANTIATED: The VNF | +| | | | | | +| | | | | instance is terminated or not instantiated. | +| | | | | | +| | | | | - INSTANTIATED: The VNF instance is instantiated. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| instantiatedVnfInf o | CM | 0..1 | InstantiatedVnf Info | Information specific to an instantiated VNF instance. | +| | | | | | +| | | | | This attribute shall be present if the instantiateState attribute value is INSTANTIATED. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 0..N | KeyValuePair | Additional metadata describing the VNF instance. | +| | | | | | +| | | | | This attribute can be modified with the Modify VNF information operation. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| extensions | O | 0..N | KeyValuePair | VNF-specific attributes. | +| | | | | | +| | | | | This attribute can be modified with the Modify VNF information operation. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + + **InstantiatedVnfInfo:** + ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality| Content | Description | ++==============================+===========+============+==============================+========================================================================================================================+ +| flavourId | M | 1 | IdentifierInVnfd | Identifier of the VNF deployment flavour to be instantiated. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| vnfState | M | 1 | ENUM | State of the VNF instance. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - STARTED: The VNF instance is up and running. | +| | | | | | +| | | | | - STOPPED: The VNF instance has been shut down. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| scaleStatus | O | 0..N | ScaleInfo | Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled | +| | | | | | +| | | | | w.r.t. that aspect. | +| | | | | | +| | | | | This attribute shall be present if the VNF supports scaling. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| extCpInfo | O | 0..N | CpInfo | Information about the external CPs exposed by the VNF instance. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| extVirtualLink | O | 0..N | ExtVirtualLinkI nfo | Information about the external VLs the VNF instance is connected to. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| extManagedVirtu alLink | O | 0..N | extManagedVir tualLinkInfo | Information about the externally-managed internal VLs of the VNF instance. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| monitoringParam eters | O | 0..N | MonitoringPar ameter | Active monitoring parameters. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| localizationLangu age | O | 0..1 | String | Localization language of the VNF to be instantiated. | +| | | | | | +| | | | | The value shall comply with the format defined in IETF RFC 5646 [6]. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| vimInfo | CM | 0..N | VimInfo | Information about VIM(s) managing resources for the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| vnfcResourceInfo | CM | 0..N | VnfcResourceI nfo | Information about the virtualised compute and storage resource(s) used by the VNFCs of the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| virtualLinkResourceInfo | CM | 0..N | VirtualLinkRes ourceInfo | Information about the virtualised network resource(s) used by the VLs of the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| virtualStorageResourceInfo | CM | 0..N | VirtualStorage ResourceInfo | Information about the virtualised storage resource(s) used as storage for the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ + +**ScaleInfo:** + ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++==================+=============+====================+====================+=====================================================================================================================================+ +| aspectId | M | 1 | IdentifierInVnfd | Identifier of the scaling aspect. | ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ +| scaleLevel | M | 1 | Integer | Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. | ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ + + **CpInfo:** + ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++====================+=============+====================+====================+==================================================================+ +| cpInstanceId | M | 1 | Identifier | Identifier of the CP instance. | ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ +| cpdId | M | 1 | IdentifierInVnfd | Identifier of the CPD, in the VNFD. | ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ +| addresses | O | 0..N | NetworkAddre ss | List of network addresses that have been configured on the CP. | ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ + + **ExtVirtualLinkInfo:** + ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++========================+=============+====================+===================+=================================================+ +| extVirtualLinkId | M | 1 | Identifier | Identifier of the external VL. | ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ +| resourceHandle | M | 1 | ResourceHand le | Identifier of the resource realizing this VL. | ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ +| linkPorts | O | 0..N | VnfLinkPort | Link ports of this VL. | ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ + + **ResourceHandle:** + ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality| Content | Description | ++=====================+============+============+===================+========================================================================================================+ +| vimId | CM | 0..1 | Identifier | Identifier of the VimInfo information element defining the VIM who manages the resource. | +| | | | | | +| | | | | This attribute shall be present if | +| | | | | | +| | | | | VNF-related resource management in direct mode is applicable. | +| | | | | | +| | | | | The value refers to a vimInfo item in the VnfInstance. | ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ +| resourceProviderId | CM | 0..1 | Identifier | Identifier of the entity responsible for the management of the resource. | +| | | | | | +| | | | | This attribute shall be present when VNF-related resource management in indirect mode is applicable. | +| | | | | | +| | | | | Reserved | ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ +| resourceId | M | 1 | IdentifierInVim | Identifier of the resource in the scope of the VIM or the resource provider. | ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ + + **VnfLinkPort:** + ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++======================+=============+====================+===================+================================================================================================+ +| resourceHandle | M | 1 | ResourceHand le | Identifier of the virtualised network resource realizing this link port. | ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ +| cpInstanceId | M | 1 | IdentifierInVnf | External CP of the VNF to be connected to this link port. | +| | | | | | +| | | | | There shall be at most one link port associated with any external connection point instance. | +| | | | | | +| | | | | The value refers to an extCpInfo item in the VnfInstance. | ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ + + **VnfcResourceInfo:** + ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality| Content | Description | ++=======================+============+============+====================+=====================================================================================================================+ +| vnfcInstanceId | M | 1 | IdentifierInVnf | Identifier of this VNFC instance. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| vduId | M | 1 | IdentifierInVnfd | Reference to the applicable Vdu information element in the VNFD. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| computeResourc e | M | 1 | ResourceHand le | Reference to the VirtualCompute resource. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| storageResourceI ds | M | 1..N | IdentifierInVnf | Reference(s) to the VirtualStorage resource(s). | +| | | | | | +| | | | | The value refers to a VirtualStorageResourceInfo item in the VnfInstance. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| reservationId | O | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | +| | | | | | +| | | | | Reserved | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ + + **VirtualStorageResourceInfo:** + ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++=================================+=============+====================+====================+=====================================================================================================================+ +| virtualStorageInst anceId | M | 1 | IdentifierInVnf | Identifier of this virtual storage resource instance. | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| virtualStorageDe scId | M | 1 | IdentifierInVnfd | Identifier of the VirtualStorageDesc in the VNFD. | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| storageResource | M | 1 | ResourceHand le | Reference to the VirtualStorage resource. | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | +| | | | | | +| | | | | Reserved | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ + + **VirtualLinkResourceInfo:** + ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==============================+===========+==============+====================+=====================================================================================================================+ +| virtualLinkInstanceId | M | 1 | IdentifierInVnf | Identifier of this VL instance. | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| virtualLinkDescId | M | 1 | IdentifierInVnfd | Identifier of the Virtual Link Descriptor (VLD) in the VNFD. | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| networkResource | M | 1 | ResourceHand le | Reference to the VirtualNetwork resource. | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ + + [ + + { + + "vnfInstanceId": "1", + "vnfInstanceName": "vFW\_01", + "vnfInstanceDescription": "vFW in Nanjing TIC Edge", + "onboardedVnfPkgInfoId": "1", + "vnfdId": "zte\_vFW\_51610", + "vnfdVersion": "V1.0", + "vnfSoftwareVersion": "V1.0", + "vnfProvider": "ZTE", + "vnfProductName": "vFW", + "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** + ++-----------+-----------------------+----------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==================================+ +| 200 | Ok | The request has succeeded. | ++-----------+-----------------------+----------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+----------------------------------+ + +**3.6 Query single VNF** +------------------------ ++---------------------+------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId} | ++---------------------+------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+------------------------------------------------------------------------------+ + +**3.6.1 Request** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.6.2 Response** + ++-------------------+-------------+---------------+------------------------+---------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===================+=============+===============+========================+=======================================+ +| vnfInstanceInfo | M | 1 | VnfInstanceI nfo | The information of the VNF instance | ++-------------------+-------------+---------------+------------------------+---------------------------------------+ ++-------------------+-------------+---------------+------------------------+---------------------------------------+ + +**3.6.3 Response Code** + ++-----------+-----------------------+----------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==================================+ +| 200 | Ok | The request has succeeded. | ++-----------+-----------------------+----------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+----------------------------------+ + + { + + "vnfInstanceId": "1", + "vnfInstanceName": "vFW\_01", + "vnfInstanceDescription": "vFW in Nanjing TIC Edge", + "onboardedVnfPkgInfoId": "1", + "vnfdId": "zte\_vFW\_51610", + "vnfdVersion": "V1.0", + "vnfSoftwareVersion": "V1.0", + "vnfProvider": "ZTE", + "vnfProductName": "vFW", + "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.7 Get Operation Status** +------------------------------ ++---------------------+-------------------------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+=================================================================================================+ +| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_lc\_ops/{vnfLcOpId}&response Id={responseId} | ++---------------------+-------------------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------------------------+ +| Direction | NFVO->GVNFM | ++---------------------+-------------------------------------------------------------------------------------------------+ + +**3.7.1 Request** + + None + +**3.7.2 Response** + ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+=============+===============+===========+==================================================================================+ +| vnfLcOpId | M | 1 | String | Identifier of a VNF lifecycle operation occurrence | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| vnfInstanceId | M | 1 | String | Identifier of the VNF instance to which the operation applies | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| lcmOperationType | M | 1 | ENUM | Type of the actual LCM operation represented by this lcm operation occurrence. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - INSTANTIATE:the | +| | | | | | +| | | | | Instantiate VNF LCM operation. | +| | | | | | +| | | | | - SCALE: the Scale VNF LCM operation. | +| | | | | | +| | | | | - SCALE\_TO\_LEVEL: the | +| | | | | | +| | | | | Scale VNF to Level LCM operation. | +| | | | | | +| | | | | - CHANGE\_FLAVOUR: | +| | | | | | +| | | | | the Change VNF Flavour LCM operation. | +| | | | | | +| | | | | - TERMINATE: the | +| | | | | | +| | | | | Terminate VNF LCM operation. | +| | | | | | +| | | | | - HEAL: the Heal VNF LCM operation. | +| | | | | | +| | | | | - OPERATE: the Operate VNF LCM operation. | +| | | | | | +| | | | | - CHANGE\_EXT\_VLS: the | +| | | | | | +| | | | | Change VNF external VLs LCM operation. (Reserved) | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| startTime | M | 1 | String | Date-time of the start of the operation. | +| | | | | | +| | | | | Representation: String formatted according to RFC 3339 [13] | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| responseDescriptor | M | 1 | VnfLcOp | Including:responseId,progress,statusstatusDescription | +| | | | Response | | +| | | | Descriptor| ,errorCode,responseHistoryList | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ + + **VnfLcOpResponseDescriptor:** + ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++===========================+=================+====================+===============+===========================================================+ +| responseId | M | 1 | Integer | Response Identifier | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| progress | M | 1 | Integer | progress (1-100) | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| lcmOperationStatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - STARTING: The operation is starting.. | +| | | | | | +| | | | | - PROCESSING: The operation is | +| | | | | currently in execution. | +| | | | | | +| | | | | - COMPLETED: The operation has completed successfully. | +| | | | | | +| | | | | - FAILED: The operation has failed and it cannot be | +| | | | | retried or rolled back, as it is determined | +| | | | | that such action won't succeed. | +| | | | | - 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) | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| statusDescripti on | O | 0..1 | String | Status Description of a VNF lifecycle operation | +| | | | | occurrence | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| errorCode | O | 0..1 | Integer | Errorcode | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| responseHistor yList | O | 0..N | VnfLcOpDetail | History Response Messages from the requested | +| | | | | responseId to lastest one. | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ + + **VnfLcOpDetail:** + ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++===========================+=================+====================+===============+===========================================================+ +| responseId | M | 1 | Integer | Response Identifier | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| progress | M | 1 | Integer | progress (1-100) | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| lcmOperationS tatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - STARTING: The operation is starting.. | +| | | | | | +| | | | | - PROCESSING: The operation is currently in execution. | +| | | | | | +| | | | | - COMPLETED: The operation has completed successfully. | +| | | | | | +| | | | | - FAILED: The operation has failed and it | +| | | | | cannot be retried or rolled back, as it is | +| | | | | determined that such action won't succeed. | +| | | | | | +| | | | | | +| | | | | - 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) | +| | | | | | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| statusDescription | O | 0..1 | String | Status Description of a VNF lifecycle operation occurrence| ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| errorCode | O | 0..1 | Integer | Errorcode | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ + + { + + "vnfLcOpId": "1234566", + + "vnfInstanceId": "1", + "lcmOperationType": "INSTANTIATE", + + "startTime": "2017-01-01T12:00:27.87+00:20", + + "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** + ++-----------+-----------------------+----------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==================================+ +| 200 | Ok | The request has succeeded. | ++-----------+-----------------------+----------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+----------------------------------+ + +**4.Interfaces provided by VNF**\ (Ve-Vnfm-vnf) +=============================================== + +**4.1 Set Initial Configuration** +--------------------------------- + ++---------------------+---------------------------------------------+ +| If Definition | Description | ++=====================+=============================================+ +| URI | http(s)://[hostname][:port]/configuration | ++---------------------+---------------------------------------------+ +| Operation | POST | ++---------------------+---------------------------------------------+ +| Direction | VNFM->VNF | ++---------------------+---------------------------------------------+ + + **4.1.1Request** + ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=========================+=============+===============+==========================+==============================================================================+ +| vnfInstanceId | M | 1 | Identifier | Identifier of the VNF instance which the VNF to set initial configuration. | ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ +| vnfConfigurationData | O | 0..1 | VnfConfigur ation | Configuration data for the VNF instance. | ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ +| vnfcConfigurationData | O | 0..N | VnfcConfigu ration | Configuration data for VNFC instances. | ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ + +**VnfConfiguration:** + ++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++=======================+=================+====================+==================================+==============================================================================+ +| cp | O | 0..N | CpConfiguratio n | External CPs | ++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ +| vnfSpecificData | O | 0..1 | VnfConfigurabl eProperties | Configuration object containing values of VNF configurable properties. | ++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ + +**CpConfiguration:** + ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++=================+=============+====================+==============+=======================================================================================================+ +| cpId | M | 1 | Identifier | Uniquely identifies a CP instance within the namespace of a specific VNF instance or VNFC instance. | ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ +| cpdId | M | 1 | Identifier | Uniquely identifies a type of CP instance within the namespace of a VNFD. | ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ +| cpAddress | M | 1..N | CpAddress | Address and Port assigned to the CP. | ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ + + **CpAddress:** + ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++==========================+=============+====================+===================+===============================================================================================================================================+ +| address | M | 0..N | NetworkAddre ss | The address assigned to the CP instance (e.g. IP address, MAC address, etc.). It shall be provided for configuring a fixed address. | ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ +| useDynamicAddress | M | 0..1 | ENUM | It determines whether an address shall be assigned dynamically. It shall be provided if a dynamic address needs to be configured on the CP. | +| | | | | | +| | | | | A cardinality of "0" indicates that no dynamic address needs to be configured on the CP. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - TRUE | +| | | | | | +| | | | | - FALSE | ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ +| port | M | 0..1 | Not specified | The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). | +| | | | | | +| | | | | Reserved | ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + + **VnfConfigurableProperties:** + ++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content| Description | ++====================+===========+==============+========+===============================================================================================+ +| autoScalable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-scaling functionality. | +| | | | | | +| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - TRUE | +| | | | | | +| | | | | - FALSE | ++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ +| autoHealable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-healing functionality. | +| | | | | | +| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - TRUE | +| | | | | | +| | | | | - FALSE | ++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ + +**VnfcConfiguration:** + ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++========================+=============+====================+====================+========================================================================================+ +| vnfcId | M | 1 | Identifier | Uniquely identifies a VNFC instance within the namespace of a specific VNF instance. | ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ +| cp | O | 0..N | CpConfiguratio n | Internal CPs. | ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ +| vnfcSpecificData | O | 0..1 | KeyValuePair | Configuration object containing values of VNFC configurable properties | ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ + + { + + "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 | ++=======================+=============+===============+===================+=================================+ +| vnfConfigurationData | O | 0..1 | VnfConfiguration | Correspond to the | +| | | | | vnfConfigurationData in the | +| | | | | input information elements of | +| | | | | the SetInitialConfiguration | +| | | | | operation if it has. | ++-----------------------+-------------+---------------+-------------------+---------------------------------+ +| vnfcConfigurationDa | O | 0..N | VnfConfiguration | Correspond to the | +| ta | | | | vnfcConfigurationData in the | +| | | | | input information elements of | +| | | | | the SetInitialConfiguration | +| | | | | operation if it has. | ++-----------------------+-------------+---------------+-------------------+---------------------------------+ + + { + "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** + ++-----------+-----------------------+-----------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+===========================================================+ +| 201 | Created | A VNF Instance identifier was created successfully. | ++-----------+-----------------------+-----------------------------------------------------------+ +| 4xx/5xx | | | ++-----------+-----------------------+-----------------------------------------------------------+ + +.. |image0| image:: VNFM_API.png + :width: 5.07047in + :height: 5.6320 \ No newline at end of file diff --git a/docs/platform/APIs/VNFLCM_API/VNFM_API.png b/docs/platform/APIs/VNFLCM_API/VNFM_API.png new file mode 100644 index 00000000..b267abc2 Binary files /dev/null and b/docs/platform/APIs/VNFLCM_API/VNFM_API.png differ diff --git a/docs/platform/APIs/VNFLCM_API/index.rst b/docs/platform/APIs/VNFLCM_API/index.rst new file mode 100644 index 00000000..1e679b15 --- /dev/null +++ b/docs/platform/APIs/VNFLCM_API/index.rst @@ -0,0 +1,7 @@ +VNF LCM API +------------ + +.. toctree:: + :titlesonly: + + VNFLCM_API diff --git a/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst b/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst new file mode 100644 index 00000000..f7a9c67e --- /dev/null +++ b/docs/platform/APIs/VNFMDriver_API/VNFM_Driver_API.rst @@ -0,0 +1,633 @@ +.. contents:: + :depth: 3 +.. + +**VNFM Driver API** +**V0.1** + +**1. Scope** +============== +The scope of the present document is to describe the VNFM Driver exposed API specification. + +**2. Terms, Definitions and Abbreviations** +============================================= + +For the purposes of the present document, the following abbreviations apply: + ++-------------+-----------------------------------------------+ +|Abbreviation | | ++-------------+-----------------------------------------------+ +|NFVO |Network Functions Virtualization Orchestrator | ++-------------+-----------------------------------------------+ +|VNFM |Virtual Network Function Manager | ++-------------+-----------------------------------------------+ +|VNF |Virtual Network Function | ++-------------+-----------------------------------------------+ + +Table 2-1 abbreviations + + +**3. Interfaces provided by VNFM Driver** +=========================================== + +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 +juju + +**3.1 Instantiate VNF** +------------------------ + ++--------------+--------------------------------------------------------------+ +|If Definition | Description | ++==============+==============================================================+ +|URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs | ++--------------+--------------------------------------------------------------+ +|Operation | POST | ++--------------+--------------------------------------------------------------+ +|Direction | NSLCM->VNFMDriver | ++--------------+--------------------------------------------------------------+ + +**3.1.1 Request** + ++-----------------------+------------+-------------+----------+------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=======================+============+=============+==========+==============================+ +| vnfInstanceName | M | 1 | String | Human-readable name of the | +| | | | | VNF instance to be created. | ++-----------------------+------------+-------------+----------+------------------------------+ +| vnfPackageId | M | 1 | String | VNF packageId | ++-----------------------+------------+-------------+----------+------------------------------+ +| vnfDescriptorId | M | 1 | String | Information sufficient to | +| | | | | identify the VNF Descriptor | +| | | | | which defines the VNF to | +| | | | | be created. | ++-----------------------+------------+-------------+----------+------------------------------+ +| flavourId | M | 0..1 | String | Reserved | ++-----------------------+------------+-------------+----------+------------------------------+ +|vnfInstanceDescription | M | 0..1 | String | Human-readable | +| | | | | description of the VNF | +| | | | | instance to be created. | ++-----------------------+------------+-------------+----------+------------------------------+ +| extVirtualLink | M | 0..N | String | References to external | +| | | | | virtual links to connect the | +| | | | | VNF to. | ++-----------------------+------------+-------------+----------+------------------------------+ +| additionalParam | M | 0..N | String |Additional parameters | +| | | | |passed by the NFVO as | +| | | | |input to the instantiation | +| | | | |process, specific to the | +| | | | |VNF being instantiated. | ++-----------------------+------------+-------------+----------+------------------------------+ + +**ExtVirtualLinkData:** + ++--------------+------------+-------------+----------+----------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==============+============+=============+==========+========================================+ +| vlInstanceId | M | 0..1 | String | Identifier of the VL instance | ++--------------+------------+-------------+----------+----------------------------------------+ +| vim | CM | 0..1 | VimInfo | Information about the VIM that | +| | | | | manages this resource. | +| | | | | This attribute shall be supported | +| | | | | and present if VNF-related resource | +| | | | | management in direct applicable. | ++--------------+------------+-------------+----------+----------------------------------------+ +| networkId | M | 1 | String | The network UUID of VIM | ++--------------+------------+-------------+----------+----------------------------------------+ +| cpdId | M | 0..1 | String | Identifier of the external CPD in VNFD | ++--------------+------------+-------------+----------+----------------------------------------+ + +**VimInfo:** + ++------------------+------------+-------------+--------------+------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==================+============+=============+==============+================================================+ +| vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, | +| | | | | for the purpose of referencing it from | +| | | | | other information elements. | ++------------------+------------+-------------+--------------+------------------------------------------------+ +| vimId | M | 1 | Identifier | The identifier of the VIM. | ++------------------+------------+-------------+--------------+------------------------------------------------+ +| interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the | +| | | | | VIM, including VIM provider type, API | +| | | | | version, and protocol type. | ++------------------+------------+-------------+--------------+------------------------------------------------+ +| accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the | +| | | | | VIM. Examples may include those to support | +| | | | | different authentication schemes, e.g., OAuth, | +| | | | | Token, etc. | ++------------------+------------+-------------+--------------+------------------------------------------------+ +|interfaceEndpoint | M | 1 | String | Information about the interface endpoint. An | +| | | | | example is a URL. | ++------------------+------------+-------------+--------------+------------------------------------------------+ + + +**interfaceInfo:** + ++--------------+------------+-------------+----------+-------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==============+============+=============+==========+===============================+ +| vimType | M | 1 | String | vim | ++--------------+------------+-------------+----------+-------------------------------+ +| apiVersion | M | 1 | String | | ++--------------+------------+-------------+----------+-------------------------------+ +| protocolType | M | 1 | String | http, https | ++--------------+------------+-------------+----------+-------------------------------+ + + +**accessInfo:** + ++--------------+------------+-------------+----------+-------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==============+============+=============+==========+===============================+ +| tenant | M | 1 | String | Tenant Name of tenant | ++--------------+------------+-------------+----------+-------------------------------+ +| username | M | 1 | String | Username for login | ++--------------+------------+-------------+----------+-------------------------------+ +| password | M | 1 | String | Password of login user | ++--------------+------------+-------------+----------+-------------------------------+ + +{ + "vnfInstanceName":"vFW", + "vnfPackageId":"1", + "vnfDescriptorId":"1", + "vnfInstanceDescription":"vFW_1", + "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":{ + + …… + } + +} + + +**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 | ++--------------+------------+-------------+-----------+-------------------------------+ + +{ + "jobId":"1", + "vnfInstanceId":"1" + +} + +**3.2 Terminate VNF** +----------------------- + ++---------------+------------------------------------------------------------------+ +| IF Definition | Description | ++===============+==================================================================+ +| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ | +| | {vnfInstanceId}/terminate | ++---------------+------------------------------------------------------------------+ +| Operation | POST | ++---------------+------------------------------------------------------------------+ +| Direction | NSLCM->VNFMDriver | ++---------------+------------------------------------------------------------------+ + +**3.2.1 Request** + ++-----------------+------------+-------------+-----------+----------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=================+============+=============+===========+==================================+ +| terminationType | M | 1 | Enum | Signals whether forceful or | +| | | | | graceful termination is | +| | | | | requested. | +| | | | | In case of forceful termination, | +| | | | | the VNF is shut down | +| | | | | immediately, and resources are | +| | | | | released. Note that if the VNF | +| | | | | is still in service, this may | +| | | | | adversely impact network | +| | | | | service, and therefore, operator | +| | | | | policies apply to determine if | +| | | | | forceful termination is allowed | +| | | | | in the particular situation. | +| | | | | | +| | | | | In case of graceful termination, | +| | | | | the VNFM first arranges to take | +| | | | | the VNF out of service (by | +| | | | | means out of scope of the | +| | | | | present specification, e.g. | +| | | | | involving interaction with EM, | +| | | | | if required). Once this was | +| | | | | successful, or after a timeout, | +| | | | | the VNFM shuts down the VNF | +| | | | | and releases the resources. | ++-----------------+------------+-------------+-----------+----------------------------------+ +| graceful | M | 0..1 | Time | The time interval (second) to | +| Termination | | | Duration | wait for the VNF to be taken out | +| Timeout | | | | of service during graceful | +| | | | | termination, before shutting | +| | | | | down the VNF and releasing the | +| | | | | resources. | +| | | | | If not given, it is expected | +| | | | | that the VNFM waits for the | +| | | | | successful taking out of service | +| | | | | of the VNF, no matter how long | +| | | | | it takes, before shutting down | +| | | | | the VNF and releasing the | +| | | | | resources (see note). | +| | | | | | +| | | | | Minimum timeout or timeout | +| | | | | range are specified by the VNF | +| | | | | Provider (e.g. defined in the | +| | | | | VNFD or communicated by | +| | | | | other means). | +| | | | | | +| | | | | Not relevant in case of forceful | +| | | | | termination. | ++-----------------+------------+-------------+-----------+----------------------------------+ + +{ + "vnfInstanceId":"1", + "terminationType":"graceful", + "gracefulTerminationTimeout":"60" + +} + +**3.2.2 Response** + ++--------------+------------+-------------+-----------+--------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++==============+============+=============+===========+================================+ +| jobId | M | 1 | Identifier| Identifier of the VNF lifecycle| +| | | | | operation occurrence. | +| | | | | | +| | | | | [lifecycleOperationOccurren | +| | | | | ceId] | ++--------------+------------+-------------+-----------+--------------------------------+ + +{ + "jobId":"1" + +} + + +**3.3 Query VNF** +------------------ + ++---------------+------------------------------------------------------------------+ +| IF Definition | Description | ++===============+==================================================================+ +| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ | +| | {vnfInstanceId} | ++---------------+------------------------------------------------------------------+ +| Operation | GET | ++---------------+------------------------------------------------------------------+ +| Direction | NSLCM->VNFMDriver | ++---------------+------------------------------------------------------------------+ + +**3.3.1 Request** + +VNF filter: vnfInstanceId via url [R1] + +**3.3.2 Response** + ++--------------+------------+-------------+-----------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++==============+============+=============+===========+=================================+ +| vnfInfo | M | o..N | vnfInfo | The information items about the | +| | | | | selected VNF instance(s) that | +| | | | | are returned. | +| | | | | | +| | | | | If attributeSelector is present,| +| | | | | only the attributes listed in | +| | | | | attributeSelector will be | +| | | | | returned for the selected | +| | | | | VNF instance(s). | +| | | | | See note. | ++--------------+------------+-------------+-----------+---------------------------------+ + +**VnfInfo Table** + ++-----------------+------------+-------------+----------+---------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++=================+============+=============+==========+=================================+ +| vnfInstanceId | M | 1 | String | VNF instance identifier. | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfInstanceName | M | o..1 | String | VNF instance name. See note. | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfInstance | M | o..1 | String | Human-readable description of | +| Description | | | | the VNF instance. | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfdId | M | 1 | String | Identifier of the VNFD on which | +| | | | | the VNF instance is based. | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfPackageId | M | o..1 | String | Identifier of the VNF Package | +| | | | | used to manage the lifecycle of | +| | | | | the VNF instance. See note. | +| | | | | Shall be present for an | +| | | | | instantiated VNF instance. | ++-----------------+------------+-------------+----------+---------------------------------+ +| version | M | 1 | String | Version of the VNF. | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfProvider | M | 1 | String | Name of the person or company | +| | | | | providing the VNF. | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfType | M | 1 | String | VNF Application Type | ++-----------------+------------+-------------+----------+---------------------------------+ +| vnfStatus | M | 1 | Enum | The instantiation state of the | +| | | | | VNF. Possible values: | +| | | | | INACTIVE (Vnf is terminated or | +| | | | | not instantiated ), | +| | | | | ACTIVE (Vnf is instantiated). | +| | | | | [instantiationState] | ++-----------------+------------+-------------+----------+---------------------------------+ + +{ + "vnfInfo": + { + + "nfInstanceId":"1", + "vnfInstanceName":"vFW", + "vnfInstanceDescription":"vFW in Nanjing TIC Edge", + "vnfdId":"1", + "vnfPackageId":"1", + "version":"V1.1", + "vnfProvider":"ZTE", + "vnfType":"vFW", + "vnfStatus":" ACTIVE", + + } + +} + +**3.4 Get operation status** +----------------------------- + ++---------------+------------------------------------------------------------------+ +| IF Definition | Description | ++===============+==================================================================+ +| URI | http(s)://[hostname][:port]/api/{vnfmtype} | +| | /v1/{vnfmid}/jobs/{jobid}&responseId={ responseId } | ++---------------+------------------------------------------------------------------+ +| Operation | GET | ++---------------+------------------------------------------------------------------+ +| Direction | NSLCM->VNFMDriver | ++---------------+------------------------------------------------------------------+ + +**3.4.1 Request** + + None + +**3.4.2 Response** + ++--------------------+------------+-------------+-------------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+============+=============+=============+=================================+ +| jobId | M | 1 | String | Job ID | ++--------------------+------------+-------------+-------------+---------------------------------+ +| responseDescriptor | M | 1 | - | Including: | +| | | | | vnfStatus, statusDescription, | +| | | | | errorCode,progress, | +| | | | | responseHistoryList, responseId | ++--------------------+------------+-------------+-------------+---------------------------------+ +| status | M | 1 | String | JOB status | +| | | | | started | +| | | | | processing | +| | | | | finished | +| | | | | error | ++--------------------+------------+-------------+-------------+---------------------------------+ +| progress | M | 1 | Integer | progress (1-100) | ++--------------------+------------+-------------+-------------+---------------------------------+ +| statusDescription | M | 1 | String | Progress Description | ++--------------------+------------+-------------+-------------+---------------------------------+ +| errorCode | M | 1 | Integer | Errorcode | ++--------------------+------------+-------------+-------------+---------------------------------+ +| responseId | M | 1 | Integer | Response Identifier | ++--------------------+------------+-------------+-------------+---------------------------------+ +| response | M | o..N | ArrayList<> | History Response Messages | +| HistoryList | | | | from the requested | +| | | | | responseId to lastest one. | +| | | | | Including fields: | +| | | | | vnfStatus, | +| | | | | statusDescription, | +| | | | | errorCode, | +| | | | | progress, | +| | | | | responseId | ++--------------------+------------+-------------+-------------+---------------------------------+ + +{ + "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** +------------------ + ++---------------+------------------------------------------------------------------+ +| IF Definition | Description | ++===============+==================================================================+ +| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/ | +| | {vnfInstanceId}/scale | ++---------------+------------------------------------------------------------------+ +| Operation | POST | ++---------------+------------------------------------------------------------------+ +| Direction | NSLCM->VNFMDriver | ++---------------+------------------------------------------------------------------+ + +**3.5.1 Request** + + ++---------------+------------+-------------+-------------+---------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===============+============+=============+=============+=============================================+ +| type | M | 1 | Enum | Defines the type of the scale operation | +| | | | | requested (scale out, scale in). The set of | +| | | | | types actually supported depends on the | +| | | | | capabilities of the VNF being managed, as | +| | | | | 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 | ++---------------+------------+-------------+-------------+---------------------------------------------+ +| numberOfSteps | M | 1 | Integer | Number of scaling steps to be executed as | +| | | | | part of this ScaleVnf operation. It shall | +| | | | | be a positive number. | +| | | | | Defaults to 1. | +| | | | | The VNF Provider defines in the VNFD | +| | | | | 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. | +| | | | | Reserved | ++---------------+------------+-------------+-------------+---------------------------------------------+ +| NOTE 1: ETSI GS NFV-IFA 010 [2] specifies that the lifecycle management operations that expand | +| or contract a VNF instance include scale in, scale out, scale up and scale down. Vertical | +| 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 | +| aspect. | ++------------------------------------------------------------------------------------------------------+ + +{ + "vnfInstanceId":"5", + "type":" SCALE_OUT", + "aspectId":"101", + "numberOfSteps":"1", + "additionalParam":{ + + …… + + } + +} + +**3.5.2 Response** + ++--------------------+------------+-------------+-------------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+============+=============+=============+=================================+ +| jobId | M | 1 | String | The identifier of the VNF | +| | | | | lifecycle operation occurrence. | ++--------------------+------------+-------------+-------------+---------------------------------+ + +{ + "jobId":"1" + +} + +**3.6 Heal VNF** +------------------ + ++---------------+------------------------------------------------------------------+ +| IF Definition | Description | ++===============+==================================================================+ +| URI | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs | +| | {vnfInstanceId}/heal | ++---------------+------------------------------------------------------------------+ +| Operation | POST | ++---------------+------------------------------------------------------------------+ +| Direction | NSLCM->VNFMDriver | ++---------------+------------------------------------------------------------------+ + +**3.6.1 Request** + ++--------------------+------------+-------------+-------------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+============+=============+=============+=================================+ +| action | M | 1 | String | Indicates the action to be done | +| | | | | upon the given virtual machine. | +| | | | | Only "vmReset" is supported | +| | | | | currently. | ++--------------------+------------+-------------+-------------+---------------------------------+ +| affectedvm | M | 1 | AffectedVm | Defines the information of | +| | | | | virtual machines. | ++--------------------+------------+-------------+-------------+---------------------------------+ + +**AffectedVm** + ++--------------------+------------+-------------+-------------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+============+=============+=============+=================================+ +| vimid | M | 1 | String | Defines the UUID of virtual | +| | | | | machine. | ++--------------------+------------+-------------+-------------+---------------------------------+ +| vduid | M | 1 | String | Defines the id of vdu. | ++--------------------+------------+-------------+-------------+---------------------------------+ +| vmname | M | 1 | | Defines the name of virtual | +| | | | | machines. | ++--------------------+------------+-------------+-------------+---------------------------------+ + +{ + "action": "vmReset", + "affectedvm": + { + + "vmid": "804cca71-9ae9-4511-8e30-d1387718caff", + "vduid": "vdu_100", + "vmname": "ZTE_SSS_111_PP_2_L" + + }, + +} + +**3.6.2 Response** + ++--------------------+------------+-------------+-------------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+============+=============+=============+=================================+ +| jobId | M | 1 | Identifier | The identifier of the VNF | +| | | | | healing operation occurrence. | ++--------------------+------------+-------------+-------------+---------------------------------+ + +{ + "jobId":"1" + +} diff --git a/docs/platform/APIs/VNFMDriver_API/index.rst b/docs/platform/APIs/VNFMDriver_API/index.rst new file mode 100644 index 00000000..cf017587 --- /dev/null +++ b/docs/platform/APIs/VNFMDriver_API/index.rst @@ -0,0 +1,7 @@ +VNFM Driver API +--------------- + +.. toctree:: + :titlesonly: + + VNFM_Driver_API \ No newline at end of file diff --git a/docs/platform/APIs/index.rst b/docs/platform/APIs/index.rst new file mode 100644 index 00000000..b05bede2 --- /dev/null +++ b/docs/platform/APIs/index.rst @@ -0,0 +1,43 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +VF-C Offered APIs +================= +List VF-C APIs offered. + + +NS LCM API +---------- + +Network services lifecycle management APIs + + +.. toctree:: + :maxdepth: 1 + + NSLCM_API/index + + +VNFM Driver API +--------------- + +VNFM Driver component northbound APIs + +.. toctree:: + :maxdepth: 1 + + VNFMDriver_API/index + + + +VNF LCM API +----------- + +VNF lifecycle management APIs + +.. toctree:: + :maxdepth: 1 + + VNFLCM_API/index + diff --git a/docs/platform/architecture.rst b/docs/platform/architecture.rst new file mode 100644 index 00000000..dc7ef09b --- /dev/null +++ b/docs/platform/architecture.rst @@ -0,0 +1,25 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +VF-C Architecture +----------------- +Following is the VF-C architecture. + + +|image0| + +.. |image0| image:: vfc-arc.png + :width: 5.97047in + :height: 5.63208in + + +VF-C as one controller in ONAP includes two components NFV-O and GVNFM. + +For NFV-O, it provides north bound interface to SO to take part in fulfilling the orchestration and operation of end2end service.and provides standard south bound interface to VNFMs. + +For GVNFM, it provides LCM for VNFs which do not require a vendor VNFM and works with NFV-O component to take part in fulfilling the LCM of NS. + +In addition, VF-C provides interface to Policy and works with DCAE for Close Loop Automation. + +As you can see in this picture,VF-C has many dependencies with other projects,such as SO,Policy,A&AI,SDC,DCAE,Multi-cloud and so on. \ No newline at end of file diff --git a/docs/platform/components.png b/docs/platform/components.png new file mode 100644 index 00000000..253e63bf Binary files /dev/null and b/docs/platform/components.png differ diff --git a/docs/platform/delivery.rst b/docs/platform/delivery.rst new file mode 100644 index 00000000..1a6ab3b4 --- /dev/null +++ b/docs/platform/delivery.rst @@ -0,0 +1,27 @@ +VF-C Delivery +------------- +VF-C includs the following components in R1. + +|image0| + +.. |image0| image:: components.png + :width: 5.97047in + :height: 5.63208in + +VF-C incloudes several components in ONAP R1. + +Catalog is used to store the package distributed by SDC, it is a runtime catalog. + +Workflow include two micro service, one is workflow manage service and the other is workflow-activiti engine serivce, this two service will onboard workflow to workflow engine and parse workflow. + + +For NS lifecyle manager,it mainly completes the NS lifecycle management,such as NS Instantiation/termination and auto-healing. + +For Resource manager, it will communicate with NS lifecycle manager to update intance date to A&AI. + +In VF-C southbound, it includs Gvnfmdriver and SVNFM driver which will interact with GVNFM and Vendor VNFM respectively to execute VNF lifecycle management, +VF-C provides vnfm driver northbound api,then Vendor can implement this APIs to integrate with VF-C. + +For the EMS driver,it can collect VNF lay’s Fcaps data from Vendor EMS, and then translate and put these data to DCAE Vescollector + + diff --git a/docs/platform/index.rst b/docs/platform/index.rst new file mode 100644 index 00000000..8311287b --- /dev/null +++ b/docs/platform/index.rst @@ -0,0 +1,24 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _vfc_index: + +ONAP VF-C +========= + +As part of the integration between OpenECOMP and OPEN-O, VF-C leverages ETSI NFV MANO architecture and information model as a reference, and implements life cycle management and FCAPS of VNF and NS. + +* support NS and VNF lifecycle management based on the ONAP tosca and yang data model and workflow +* support integration with multi VNFMs via drivers, which include vendors VNFM and generic VNFM +* support integration with multi VNFs via generic VNFM, which does not provide VNFM function +* support integration with multi VIMS via Multi-VIM, which include the opensource and commercial VIMs +* support microservice architecture and model driven resource orchestration and management + + +.. toctree:: + :maxdepth: 1 + + architecture.rst + delivery.rst + APIs/index + installation.rst diff --git a/docs/platform/installation.rst b/docs/platform/installation.rst new file mode 100644 index 00000000..486ce151 --- /dev/null +++ b/docs/platform/installation.rst @@ -0,0 +1,163 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +VF-C Installation +----------------- +Describe the environment and steps to install VF-C components. + + +Environment ++++++++++++ +VF-C components can run as docker, docker service should be installed before install VF-C components. + +The following scripts show the docker service install commands in centos7. + +:: + + yum install docker + systemctl enable docker.service + systemctl start docker.service + +Steps ++++++ + +- Install MSB components. + +VF-C components need to register to MSB when starting, so MSB components should be installed first, you can ref the following link to install MSB. + +http://onap.readthedocs.io/en/latest/submodules/msb/apigateway.git/docs/platform/installation.html + +Note: In the following steps, we use ${MSB_IP} as the IP of msb_apigateway component. + +- Install vfc-nfvo-lcm component. + +:: + + docker run -d --name vfc-nslcm -v /var/lib/mysql -p 8403:8403 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nslcm + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/nslcm/v1/swagger.json + +- Install vfc-nfvo-wfengine components. + +Totally, there are two docker images should be installed before you can use the workflow normally, \ +one is wfengine-activiti for manage the original activiti service, the other is for manage engine service. + + +1. Pull related docker images + +:: + + docker pull $NEXUS_DOCKER_REPO/onap/vfc/wfengine-activiti:$DOCKER_IMAGE_VERSION + docker pull $NEXUS_DOCKER_REPO/onap/vfc/wfengine-mgrservice:$DOCKER_IMAGE_VERSION + +2. Run the two docker images + +The first container is wfengine-activiti,there are some parameters should be injected into container. \ +OPENPALETTE_MSB_IP represents msb server address and OPENPALETTE_MSB_PORT is the relative port, \ +SERVICE_IP represents the docker run environment server address. + +:: + + docker run -i -t -d --name vfc_wfengine_activiti -p 8804:8080 -e SERVICE_IP=$OPENO_IP -e SERVICE_PORT=8804 + -e OPENPALETTE_MSB_IP=$OPENO_IP -e OPENPALETTE_MSB_PORT=80 $NEXUS_DOCKER_REPO/onap/vfc/wfengine-activiti:$DOCKER_IMAGE_VERSION + + docker run -i -t -d --name vfc_wfengine_mgrservice -p 8805:10550 -e SERVICE_IP=$OPENO_IP -e SERVICE_PORT=8805 + -e OPENPALETTE_MSB_IP=$OPENO_IP -e OPENPALETTE_MSB_PORT=80 $NEXUS_DOCKER_REPO/onap/vfc/wfengine-mgrservice:$DOCKER_IMAGE_VERSION + +- Install vfc-nfvo-catalog component. + +:: + + docker run -d --name vfc-catalog -v /var/lib/mysql -p 8806:8806 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/catalog + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/catalog/v1/swagger.json + +- Install vfc-nfvo-resmanagement component. + +:: + + docker run -d --name vfc-resmanagement -p 8480:8480 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/resmanagement + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/resmgr/v1/swagger.json + +- Install vfc-nfvo-sfcdriver component. + +:: + + docker run -d --name vfc-ztesdncdriver -p 8411:8411 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/ztesdncdriver + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/ztesdncdriver/v1/swagger + +- Install vfc-nfvo-emsdriver component. + +:: + + docker run -d --name vfc-emsdriver -p 8206:8206 -e MSB_ADDR=${MSB_IP}:80 -e VES_ADDR=${VES_COLLECTOR_IP}:8080 -e VES_AUTHINFO="":"" nexus3.onap.org:10001/onap/vfc/emsdriver + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/emsdriver/v1/swagger.json + +- Install vfc-gvnfm components. + +:: + + docker run -d --name vfc-vnflcm -v /var/lib/mysql -p 8801:8801 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnflcm + docker run -d --name vfc-vnfmgr -v /var/lib/mysql -p 8803:8803 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfmgr + docker run -d --name vfc-vnfres -v /var/lib/mysql -p 8802:8802 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfres + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/vnflcm/v1/swagger.json + curl http://${MSB_IP}:80/api/vnfmgr/v1/swagger.json + curl http://${MSB_IP}:80/api/vnfres/v1/swagger.json + +- Install vfc-gvnfmdriver components. + +:: + + docker run -d --name vfc-gvnfmdriver -p 8484:8484 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/gvnfmdriver + docker run -d --name vfc-jujudriver -p 8483:8483 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/jujudriver + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/gvnfmdriver/v1/swagger.json + curl http://${MSB_IP}:80/api/jujuvnfmdriver/v1/swagger.json + +- Install vfc-svnfmdriver components. + +:: + + docker run -d --name vfc-ztevmanagerdriver -p 8410:8410 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/ztevmanagerdriver + docker run -d --name vfc-svnfm-huawei -p 8482:8482 -p 8443:8443 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei + docker run -d --name vfc-svnfm-nokia -p 8486:8486 -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/nokia + +For testing, we can use curl command to access the swagger api. + +:: + + curl http://${MSB_IP}:80/api/ztevmanagerdriver/v1/swagger.json + curl http://${MSB_IP}:80/api/huaweivnfmdriver/v1/swagger.json + curl http://${MSB_IP}:80/api/nokiavnfmdriver/v1/swagger.json diff --git a/docs/platform/logging.rst b/docs/platform/logging.rst new file mode 100644 index 00000000..8d480e28 --- /dev/null +++ b/docs/platform/logging.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Logging & Diagnostic Information +-------------------------------- +Description of how to interact with and diagnose problems with the components +as delivered. + +Where to Access Information ++++++++++++++++++++++++++++ + + +Error / Warning Messages +++++++++++++++++++++++++ diff --git a/docs/platform/offeredapis.rst b/docs/platform/offeredapis.rst new file mode 100644 index 00000000..79af6645 --- /dev/null +++ b/docs/platform/offeredapis.rst @@ -0,0 +1,43 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +VF-C Offered APIs +================= +List VF-C APIs offered. + + +NS LCM API +---------- + +Network services lifecycle management APIs + + +.. toctree:: + :maxdepth: 1 + + APIs/NSLCM_API/index + + +VNFM Driver API +--------------- + +VNFM Driver component northbound APIs + +.. toctree:: + :maxdepth: 1 + + APIs/VNFMDriver_API/index + + + +VNF LCM API +----------- + +VNF lifecycle management APIs + +.. toctree:: + :maxdepth: 1 + + APIs/VNFLCM_API/index + diff --git a/docs/platform/vfc-arc.png b/docs/platform/vfc-arc.png new file mode 100644 index 00000000..561488b2 Binary files /dev/null and b/docs/platform/vfc-arc.png differ diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 00000000..f06fbc90 --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,54 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +VF-C Release Notes +================== + +.. note:: + * This Release Notes must be updated each time the team decides to Release new artifacts. + * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. + * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. + * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. + * This note must be removed after content has been added. + +VF-C includes two main component:NFV-O and GVNFM, can implement life cycle management and FCAPS of VNF and NS. VF-C takes part in end2end service orchestration and close loop automatiion by working with SO,DCAE and Policy. +VF-C also provides standard south bound interface to VNFMs and can integration with multi vendor VNFMs via drivers. + + + +Version: x.y.z +-------------- + + +:Release Date: yyyy-mm-dd + + + +**New Features** + + - + - NS lifecycle management, including NS instance creation,termination and healing + - VNF lifecycle management, including VNF nstance creation,termination and healing + - VNF FCAPS, collecting FCAPS data from vendor EMS + - VNFM Integration, Integration with specific VNFMs of vendors to deploy commercial VNFs + - VNF Integration, Integration with VNF via GVNFM + + +**Bug Fixes** + + +**Known Issues** + +**Security Issues** + + +**Upgrade Notes** + +**Deprecation Notes** + +**Other** + +=========== + +End of Release Notes diff --git a/docs/vfc-arc.png b/docs/vfc-arc.png deleted file mode 100644 index 561488b2..00000000 Binary files a/docs/vfc-arc.png and /dev/null differ -- cgit 1.2.3-korg