VNF LCM API ETSI NFV-SOL specification update

Following points are updated:-

1. Removed 'scaleStatus' as it is not supported.
2. Added DB columns 'instantiation_level_id', 'additional_params'
   and 'task_state'. Explained the need of introducing 'task_state'.

Implements: bp/support-etsi-nfv-specs
Change-Id: I20f04fb08602f8d743efd483c9079b19740759c4
This commit is contained in:
Nitin Uikey 2020-04-02 08:24:41 +00:00 committed by tpatil
parent bcd2e5c9f7
commit fa81c77d4d

View File

@ -304,6 +304,34 @@ Supported Policy Types
#. tosca.policies.nfv.VduScalingAspectsDeltas #. tosca.policies.nfv.VduScalingAspectsDeltas
#. tosca.policies.nfv.VduInitialDelta #. tosca.policies.nfv.VduInitialDelta
Add task_state to perform atomic operation on vnf instances
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add ``task_state`` to the ``vnf_instances`` db table. The main purpose of
introducing ``task_state`` is to allow actions to be performed on VNF in
atomic way. Meaning, if you are instantiating a VNF, it won't allow you to
perform same action or any other action on the VNF until that operation is
complete. If user attempts to instantiate it again before completing the
previous request, it will reject that request with 400 error.
Types of ``task_state``:
* INSTANTIATING: Set when a user calls instantiate API. After the VNF is
instantiated completely, it will be set to None. If it fails to instantiate
a VNF successfully, then it will be set to ``ERROR``.
* HEALING: Set when a user calls heal API. After the VNF is
healed completely, it will be set to None. If it fails to heal
a VNF successfully, then it will be set to ``ERROR``.
* TERMINATING: Set when a user calls terminate API. After the VNF is
terminated completely, it will be set to None. If it fails to terminate
a VNF successfully, then it will be set to ``ERROR``.
* ERROR: An user won't be able to perform any actions on a VNF whose
``task_state`` is ``ERROR``. An Operator will need to fix all such issues
manually. We plan to fix VNFs in such states using periodic tasks in future.
Alternatives Alternatives
------------ ------------
@ -337,6 +365,8 @@ vnf_instances::
`instantiation_state` varchar(255) NOT NULL `instantiation_state` varchar(255) NOT NULL
`task_state` varchar(255) NULL
`vim_connection_info` json NULL `vim_connection_info` json NULL
`tenant_id` varchar(64) NOT NULL `tenant_id` varchar(64) NOT NULL
@ -376,6 +406,10 @@ vnf_instantiated_info::
`instance_id` varchar(255) NOT NULL `instance_id` varchar(255) NOT NULL
`instantiation_level_id` varchar(255) NULL
`additional_params` json NULL
`created_at` datetime NOT NULL `created_at` datetime NOT NULL
`updated_at` datetime NULL `updated_at` datetime NULL
@ -528,7 +562,7 @@ The following restFul APIs will be added:
+----------------------------+------------------------------+-------------+-----------------+ +----------------------------+------------------------------+-------------+-----------------+
| >vnfState | VnfOperationalStateType | 1 | Yes | | >vnfState | VnfOperationalStateType | 1 | Yes |
+----------------------------+------------------------------+-------------+-----------------+ +----------------------------+------------------------------+-------------+-----------------+
| >scaleStatus | ScaleInfo | 0..N | Yes | | >scaleStatus | ScaleInfo | 0..N | No |
+----------------------------+------------------------------+-------------+-----------------+ +----------------------------+------------------------------+-------------+-----------------+
| >extCpInfo | VnfExtCpInfo | 1..N | Yes | | >extCpInfo | VnfExtCpInfo | 1..N | Yes |
+----------------------------+------------------------------+-------------+-----------------+ +----------------------------+------------------------------+-------------+-----------------+
@ -714,7 +748,11 @@ The following restFul APIs will be added:
| Attribute name | Data type | Possible values | Cardinality | Support | Description | | Attribute name | Data type | Possible values | Cardinality | Support | Description |
+============================+================+=================+=============+=============+=========================================================================================+ +============================+================+=================+=============+=============+=========================================================================================+
| terminationType | Enum (inlined) | FORCEFUL | 1 | Yes | Indicates whether forceful or graceful termination is requested. | | terminationType | Enum (inlined) | FORCEFUL | 1 | Yes | Indicates whether forceful or graceful termination is requested. |
| | | | | | At first, only forceful termination will be supported. | | | | GRACEFUL | | | FORCEFUL: The VNFM will shut down the VNF and release the resources immediately. |
| | | | | | GRACEFUL: The VNFM will first arrange to take the VNF out of service. Once the |
| | | | | | operation of taking the VNF out of service finishes, it will wait for the period |
| | | | | | as specified in the `gracefulTerminationTimeout` and then VNFM will shutdown the VNF |
| | | | | | and release the resources. |
+----------------------------+----------------+-----------------+-------------+-------------+-----------------------------------------------------------------------------------------+ +----------------------------+----------------+-----------------+-------------+-------------+-----------------------------------------------------------------------------------------+
| additionalParams | KeyValuePairs | | 0..1 | No | Additional parameters to the termination process, specific to the VNF being terminated. | | additionalParams | KeyValuePairs | | 0..1 | No | Additional parameters to the termination process, specific to the VNF being terminated. |
+----------------------------+----------------+-----------------+-------------+-------------+-----------------------------------------------------------------------------------------+ +----------------------------+----------------+-----------------+-------------+-------------+-----------------------------------------------------------------------------------------+