Add doc of Change Current VNF Package

This patch provides Tacker documents for change current vnf package
in V2-API. The specification about new API is added to API Reference.
Also, change current vnf package operation is added to
Tacker Use Cases Guide and CLI Reference.

This patch also adds change current vnf package restrictions to
error_handling user guide.

Change-Id: I3f18bbab17c67e717dc0a9d36e92f812a40862e5
This commit is contained in:
Yi Feng 2022-04-14 15:35:14 +09:00
parent acf84a168a
commit 08b8eb7445
12 changed files with 2051 additions and 9 deletions

View File

@ -287,6 +287,13 @@ cause:
in: body
required: false
type: string
change_current_vnf_package_additional_params:
description: |
Additional parameters passed by the NFVO as input to the process,
specific to the VNF of which upgrade_type is selected.
in: body
required: true
type: key value pairs
change_ext_vnf_connectivity_additional_params:
description: |
Additional parameters passed by the NFVO as input to the process,
@ -301,6 +308,13 @@ change_ext_vnf_connectivity_ext_virtual_links:
in: body
required: true
type: array
change_vnfpkg_vnfd_id:
description: |
Identifier of the VNFD which defines the destination
VNF Package for the change.
in: body
required: true
type: string
changed_ext_connectivity:
description: |
Information about changed external connectivity,
@ -938,10 +952,14 @@ operation_params:
HEAL: HealVnfRequest
CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest
TERMINATE: TerminateVnfRequest
MODIFY_INFO: VnfInfoModificationRequest
CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
This attribute shall be present if this data type is returned
in a response to reading an individual resource, and may
be present according to the chosen attribute selector

View File

@ -0,0 +1,35 @@
{
"vnfdId": "c6595341-a5bb-8246-53c4-7aeb843d60c5",
"additionalParams": {
"upgrade_type": "RollingUpdate",
"lcm-operation-coordinate-old-vnf": "./Scripts/coordinate_old_vnf.py",
"lcm-operation-coordinate-old-vnf-class": "CoordinateOldVnf",
"lcm-operation-coordinate-new-vnf": "./Scripts/coordinate_new_vnf.py",
"lcm-operation-coordinate-new-vnf-class": "CoordinateNewVnf",
"vdu_params": [{
"vdu_id": "VDU1",
"old_vnfc_param": {
"cp_name": "VDU1_CP1",
"username": "ubuntu",
"password": "ubuntu"
},
"new_vnfc_param": {
"cp_name": "VDU1_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
}, {
"vdu_id": "VDU2",
"old_vnfc_param": {
"cp_name": "VDU2_CP1",
"username": "ubuntu",
"password": "ubuntu"
},
"new_vnfc_param": {
"cp_name": "VDU2_CP1",
"username": "ubuntu",
"password": "ubuntu"
}
}]
}
}

View File

@ -782,6 +782,46 @@ Request Example
.. literalinclude:: samples/vnflcm/change-ext-conn-request.json
:language: javascript
Change Current VNF Package (v2)
=====================================
.. rest_method:: POST /vnflcm/v2/vnf_instances/{vnfInstanceId}/change_vnfpkg
This task resource represents the "Change Current VNF Package" operation.
The client can use this resource to change current vnf package of a VNF instance.
The POST method changes current vnf package of a VNF instance.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 202
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 409
- 422
Request Parameters
------------------
.. rest_parameters:: parameters_vnflcm.yaml
- vnfInstanceId: vnf_instance_id
- vnfdId: change_vnfpkg_vnfd_id
- additionalParams: change_current_vnf_package_additional_params
Request Example
---------------
.. literalinclude:: samples/vnflcm/change-vnfpkg-request.json
:language: javascript
Show VNF LCM operation occurrence (v2)
======================================

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -0,0 +1,35 @@
@startuml
frame "python-tackerclient" {
component "tacker-client" as client
}
frame "tacker" {
component "tacker-server" {
component "server" as serv
}
component "tacker-conductor" {
component "conductor" as cond
component "Kubernetes\ninfra-driver" as infra
}
}
node "Kubernetes\nCluster\n(Master)" as k8s_m
cloud "Hardware Resources" as hw {
node "Kubernetes\nCluster\n(Worker)" as k8s_w {
node "Deployment" as ins1
node "Deployment" as ins2
}
}
'# Relationships
client --> serv: 1. Request \n Change Current VNF Package
serv --> cond
cond --> infra
infra -right-> k8s_m: 2. Call Kubernetes\n API
k8s_m --> ins1: 3. Change the image of Container \n defined in the manifest file of Deployment
k8s_m --> ins2
ins1 -[hidden]right-> ins2
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,33 @@
@startuml
frame "python-tackerclient" {
component "tacker-client" as client
}
frame "tacker" {
component "tacker-server" {
component "server" as serv
}
component "tacker-conductor" {
component "conductor" as cond
component "OpenStack\ninfra-driver" as infra
}
}
node "OpenStack\nHeat" as heat
cloud "Hardware Resources" as hw {
node "VM" as ins1
node "VM" as ins2
}
'# Relationships
client --> serv: 1. Request \n Change Current VNF Package
serv --> cond
cond --> infra
infra -right-> heat: 2. Call OpenStack\n Heat API
heat --> ins1: 3. Change the image of VMs
heat --> ins2
ins1 -[hidden]right-> ins2
@enduml

View File

@ -25,9 +25,17 @@ CLI Reference for VNF Lifecycle Management
.. note::
In Yoga release, version 2 vnflcm APIs of instantiate vnf,
terminate vnf, scale vnf, heal vnf, change external vnf connectivity,
rollback, retry and fail only support VNF, not CNF. CNF will be supported
by version 2 vnflcm APIs in future releases.
terminate vnf, change current vnf package and fail both support VNF and
CNF. Version 2 vnflcm APIs of scale vnf, heal vnf and
change external vnf connectivity only support VNF, not CNF. Rollback and
retry with all lifecycle only support VNF, only rollback and retry change
current vnf package support CNF. Other operation by version 2 vnflcm APIs
will support CNF in future releases.
.. note::
Change current vnf package only support version 2 vnflcm APIs. In Yoga
release, it only suuport `RollingUpdate` upgrade type, `BlueGreen` will be
supported in future releases.
1. Create VNF Identifier
^^^^^^^^^^^^^^^^^^^^^^^^
@ -448,7 +456,40 @@ Help:
-h, --help show this help message and exit
11. Rollback VNF Lifecycle Management Operation
11. Change Current VNF Package
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: console
$ openstack vnflcm change-vnfpkg VNF_INSTANCE_ID \
./sample_param_file.json
Result:
.. code-block:: console
Change Current VNF Package for VNF Instance 725f625e-f6b7-4bcd-b1b7-7184039fde45 has been accepted.
Help:
.. code-block:: console
$ openstack vnflcm change-vnfpkg --os-tacker-api-version 2 --help
usage: openstack vnflcm change-vnfpkg [-h] <vnf-instance> <param-file>
Change Current VNF Package
positional arguments:
<vnf-instance> VNF instance ID to Change Current VNF Package
<param-file> Specify change-vnfpkg request parameters in a json file.
optional arguments:
-h, --help show this help message and exit.
12. Rollback VNF Lifecycle Management Operation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
@ -479,7 +520,7 @@ Help:
-h, --help show this help message and exit
12. Retry
13. Retry
^^^^^^^^^
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
@ -512,7 +553,7 @@ Help:
-h, --help show this help message and exit
13. Fail
14. Fail
^^^^^^^^
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
@ -640,7 +681,7 @@ Help:
-h, --help show this help message and exit
14. List LCM Operation Occurrences
15. List LCM Operation Occurrences
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: console
@ -687,7 +728,7 @@ Help:
tacker server will throw bad request error
15. Show LCM Operation Occurrence
16. Show LCM Operation Occurrence
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: console
@ -751,7 +792,7 @@ Help:
-h, --help show this help message and exit
16. Show VNF LCM API versions
17. Show VNF LCM API versions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: console

View File

@ -0,0 +1,527 @@
===========================================
ETSI NFV-SOL CNF Change Current VNF Package
===========================================
This document describes how to change current VNF package for CNF in Tacker.
Overview
--------
The diagram below shows an overview of changing current vnf package.
1. Request Change Current VNF Package
A user requests tacker-server to change vnf package for vnf instance
with tacker-client by requesting ``change current vnf package``.
2. Call Kubernetes API
Upon receiving a request from tacker-client, tacker-server redirects it to
tacker-conductor. In tacker-conductor, the request is redirected again to
an appropriate infra-driver (in this case Kubernetes infra-driver) according
to the contents of vnf instance. Then, Kubernetes infra-driver calls
Kubernetes APIs.
3. Change the image of Container defined in the manifest file of Deployment
Kubernetes Master update the image of Container defined in the manifest
file of Deployment according to the API calls.
.. figure:: ../_images/etsi_cnf_change_current_vnf_package.png
:align: left
Prerequisites
-------------
The following packages should be installed:
* tacker
* python-tackerclient
You can refer to :doc:`./etsi_containerized_vnf_usage_guide` for the
procedure of preparation for changing current vnf package operation from
"register VIM" to "Instantiate VNF".
You can also refer to :doc:`./vnf-package` for the operation of uploading
vnf package.
The sample packages for CNF can be obtained from the following links.
* `VNF Package for Common instantiate`_
* `VNF Package for Change Current VNF Package`_
The operation for Change Current VNF Package is need to be
executed before "Terminate VNF" in the procedure of
:doc:`./etsi_vnf_deployment_as_vm_with_tosca`.
Change Current VNF Package
--------------------------
As mentioned in Prerequisites, the VNF must be created
before performing change current VNF package.
You need to upload the vnf package you want to change to before
executing `change-vnfpkg` command.
Details of CLI commands are described in
:doc:`../cli/cli-etsi-vnflcm`.
For changing current VNF package, you need to prepare a JSON-formatted
definition file before running command for changing the vnf package.
sample_param_file_for_specified_resources.json:
.. code-block:: json
{
"vnfdId": "c6595341-a5bb-8246-53c4-7aeb843d60c5",
"additionalParams": {
"upgrade_type": "RollingUpdate",
"lcm-operation-coordinate-old-vnf": "./Scripts/coordinate_old_vnf.py",
"lcm-operation-coordinate-old-vnf-class": "CoordinateOldVnf",
"lcm-operation-coordinate-new-vnf": "./Scripts/coordinate_new_vnf.py",
"lcm-operation-coordinate-new-vnf-class": "CoordinateNewVnf",
"lcm-kubernetes-def-files": ["Files/new_kubernetes/new_deployment.yaml"],
"vdu_params": [{
"vdu_id": "VDU1"
}]
}
}
sample_param_file_without_specified_resources.json:
.. code-block:: json
{
"vnfdId": "c6595341-a5bb-8246-53c4-7aeb843d60c5",
"additionalParams": {
"upgrade_type": "RollingUpdate",
"lcm-operation-coordinate-old-vnf": "./Scripts/coordinate_old_vnf.py",
"lcm-operation-coordinate-old-vnf-class": "CoordinateOldVnf",
"lcm-operation-coordinate-new-vnf": "./Scripts/coordinate_new_vnf.py",
"lcm-operation-coordinate-new-vnf-class": "CoordinateNewVnf"
}
}
.. note:: sample_param_file_for_specified_resources.json contains
all optional parameters.
``vnfdId`` is the vnfd id of the new vnf package you uploaded.
``vdu_params`` is VDU information of target VDU to update.
Specifying a vdu_params is required for OpenStack VIM and not
required for Kubernetes VIM.
.. note:: Currently, this operation only supports some functions of
`Change Current VNF Package`.
* There are several ways to update deployment. But in Yoga version, only
support `RollingUpdate` type. You can set it via `upgrade_type` param.
* Currently only support update images of deployment.
* Currently unsupported updates:
* This API currently does not support increasing or decreasing the number
of Pods according to the vnf package.
* The add and delete operations of the entire deployment are not
supported.
* In the definition of ETSI, external networks (e.g. extVirtualLinks,
extManagedVirtualLinks) can be modified. This API currently does not
support the operations of modifying, adding, and deleting these
networks.
How to Change Current VNF Package with specified resource
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We can update only specific kubernetes resources (e.g. deployment) by
specifying the file path of the kubernetes definition file in the
`lcm-kubernetes-def-files` and vdu information in `vdu_params`
of the `change current VNF package` request parameter file
(e.g. sample_param_file_for_specified_resources.json).
Execute Change Current VNF Package CLI command. After complete this change
operation you should check resource status by Kubernetes CLI commands.
1. check deployment's image information. This is to confirm that deployment's
image has changed before and after operation.
2. check the age of deployment and pods under this deployment. This is to
confirm that the deployment has not redeployed before and after operation,
and the pods under this deployment have redeployed.
3. check the status and name of pods under this deployment. This is to confirm
that the status of pods under this deployment are running, the name of pods
under this deployment has changed before and after operation.
Deployment information before operation:
.. code-block:: console
$ kubectl get deployment -o wide -n curry
Result:
.. code-block:: console
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
vdu2 2/2 2 2 20s nginx nginx app=webserver
Deployment detailed information before operation:
.. code-block:: console
$ kubectl describe deployment vdu2 -n curry
Result:
.. code-block:: console
Name: vdu2
Namespace: curry
CreationTimestamp: Tue, 22 Mar 2022 03:04:03 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 1
Selector: app=webserver
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=webserver
Containers:
nginx:
Image: nginx
Port: 80/TCP
Host Port: 0/TCP
Limits:
memory: 200Mi
Requests:
memory: 100Mi
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: vdu2-674d7d8766 (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 37s deployment-controller Scaled up replica set vdu2-674d7d8766 to 2
Pods information before operation:
.. code-block:: console
$ kubectl get pods -o wide -n curry
Result:
.. code-block:: console
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vdu2-674d7d8766-8mcb6 1/1 Running 0 72s 10.233.96.15 node2 <none> <none>
vdu2-674d7d8766-tmlhd 1/1 Running 0 72s 10.233.96.14 node2 <none> <none
Change Current VNF Package execution of the entire VNF:
.. code-block:: console
$ openstack vnflcm change-vnfpkg VNF_INSTANCE_ID \
./sample_param_file_for_specified_resources.json
Result:
.. code-block:: console
Change Current VNF Package for VNF Instance f9bb1ad5-2e30-4074-86d9-3da3a636601a has been accepted.
Deployment information after operation:
.. code-block:: console
$ kubectl get deployment -o wide -n curry
Result:
.. code-block:: console
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
vdu2 2/2 2 2 6m23s nginx nginx:alpine app=webserver
Deployment detailed information after operation:
.. code-block:: console
$ kubectl describe deployment vdu2 -n curry
Result:
.. code-block:: console
Name: vdu2
Namespace: curry
CreationTimestamp: Tue, 22 Mar 2022 03:04:03 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 2
Selector: app=webserver
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=webserver
Containers:
nginx:
Image: nginx:alpine
Port: 80/TCP
Host Port: 0/TCP
Limits:
memory: 200Mi
Requests:
memory: 100Mi
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: vdu2-6696c74f5c (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 6m46s deployment-controller Scaled up replica set vdu2-674d7d8766 to 2
Normal ScalingReplicaSet 78s deployment-controller Scaled up replica set vdu2-6696c74f5c to 1
Normal ScalingReplicaSet 67s deployment-controller Scaled down replica set vdu2-674d7d8766 to 1
Normal ScalingReplicaSet 67s deployment-controller Scaled up replica set vdu2-6696c74f5c to 2
Normal ScalingReplicaSet 55s deployment-controller Scaled down replica set vdu2-674d7d8766 to 0
.. note:: ``image`` has changed from `nginx` to `nginx:alpine`.
The age of deployment `vdu2` has not been reset, so deployment `vdu2`
has not redeployed.
Pods information after operation:
.. code-block:: console
$ kubectl get pods -o wide -n curry
Result:
.. code-block:: console
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vdu2-6696c74f5c-9xwvv 1/1 Running 0 114s 10.233.96.17 node2 <none> <none>
vdu2-6696c74f5c-kgtjt 1/1 Running 0 2m5s 10.233.96.16 node2 <none> <none>
.. note:: `name` of pods has changed before and after operation.
The age of pods under deployment has been reset, so pods under
this deployment has redeployed before and after operation.
How to Change Current VNF Package without specified resource
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We can update all kubernetes deployment resources by not
specifying the file path of the kubernetes definition file in the
`lcm-kubernetes-def-files` and vdu information in `vdu_params`
of the `change current VNF package` request parameter file
(e.g. sample_param_file_without_specified_resources.json).
Execute Change Current VNF Package CLI command. After complete this change
operation you should check resource status by Kubernetes CLI commands.
1. check all deployments' image information. This is to confirm that
all deployments' images have changed before and after operation.
2. check the ages of deployments and pods under each deployment. This is to
confirm that the deployments have not redeployed before and after operation,
and the pods under each deployment have redeployed.
3. check the status and name of pods under this deployment. This is to confirm
that the status of pods under deployments are running, the names of pods
under deployments have changed before and after operation.
Deployments information before operation:
.. code-block:: console
$ kubectl get deployment -o wide
Result:
.. code-block:: console
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
vdu2 2/2 2 2 14s nginx nginx app=webserver
Deployment detailed information before operation:
.. code-block:: console
$ kubectl describe deployment vdu2
Result:
.. code-block:: console
Name: vdu2
Namespace: default
CreationTimestamp: Tue, 22 Mar 2022 05:38:12 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 1
Selector: app=webserver
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=webserver
Containers:
nginx:
Image: nginx
Port: 80/TCP
Host Port: 0/TCP
Limits:
memory: 200Mi
Requests:
memory: 100Mi
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: vdu2-674d7d8766 (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 73s deployment-controller Scaled up replica set vdu2-674d7d8766 to 2
Pods information before operation:
.. code-block:: console
$ kubectl get pods -o wide
Result:
.. code-block:: console
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vdu2-674d7d8766-9bbnp 1/1 Running 0 2m13s 10.233.96.19 node2 <none> <none>
vdu2-674d7d8766-r9wz5 1/1 Running 0 2m13s 10.233.96.18 node2 <none> <none>
Change Current VNF Package execution of the entire VNF:
.. code-block:: console
$ openstack vnflcm change-vnfpkg VNF_INSTANCE_ID \
./sample_param_file_without_specified_resources.json
Result:
.. code-block:: console
Change Current VNF Package for VNF Instance 51dc9635-aaf0-4acf-b069-86017a39e2f4 has been accepted.
Deployments information after operation:
.. code-block:: console
$ kubectl get deployment -o wide
Result:
.. code-block:: console
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
vdu2 2/2 2 2 19m nginx nginx:alpine app=webserver
Deployment detailed information after operation:
.. code-block:: console
$ kubectl describe deployment vdu2
Result:
.. code-block:: console
Name: vdu2
Namespace: default
CreationTimestamp: Tue, 22 Mar 2022 05:38:12 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 2
Selector: app=webserver
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=webserver
Containers:
nginx:
Image: nginx:alpine
Port: 80/TCP
Host Port: 0/TCP
Limits:
memory: 200Mi
Requests:
memory: 100Mi
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: vdu2-6696c74f5c (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 20m deployment-controller Scaled up replica set vdu2-674d7d8766 to 2
Normal ScalingReplicaSet 15m deployment-controller Scaled up replica set vdu2-6696c74f5c to 1
Normal ScalingReplicaSet 14m deployment-controller Scaled down replica set vdu2-674d7d8766 to 1
Normal ScalingReplicaSet 14m deployment-controller Scaled up replica set vdu2-6696c74f5c to 2
Normal ScalingReplicaSet 14m deployment-controller Scaled down replica set vdu2-674d7d8766 to 0
.. note:: ``image`` has changed from `nginx` to `nginx:alpine`.
The age of deployment `vdu2` has not been reset, so deployment `vdu2`
has not redeployed.
Pods information after operation:
.. code-block:: console
$ kubectl get pods -o wide
Result:
.. code-block:: console
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vdu2-6696c74f5c-cjdh8 1/1 Running 0 15m 10.233.96.21 node2 <none> <none>
vdu2-6696c74f5c-ssztd 1/1 Running 0 15m 10.233.96.20 node2 <none> <none>
.. note:: `name` of pods has changed before and after operation.
The age of pods under deployment has been reset, so pods under
this deployment has redeployed before and after operation.
.. _VNF Package for Common instantiate: https://opendev.org/openstack/tacker/src/branch/master/tacker/tests/functional/sol_kubernetes_v2/samples/test_instantiate_cnf_resources/contents
.. _VNF Package for Change Current VNF Package: https://opendev.org/openstack/tacker/src/branch/master/tacker/tests/functional/sol_kubernetes_v2/samples/test_change_vnf_pkg_with_deployment/contents

View File

@ -86,6 +86,25 @@ VM
etsi_vnf_change_external_vnf_connectivity
Change Current VNF Package
^^^^^^^^^^^^^^^^^^^^^^^^^^
VM
~~
.. toctree::
:maxdepth: 1
etsi_vnf_change_current_vnf_package
Container
~~~~~~~~~
.. toctree::
:maxdepth: 1
etsi_cnf_change_current_vnf_package
Error Handling
^^^^^^^^^^^^^^

File diff suppressed because it is too large Load Diff

View File

@ -280,6 +280,13 @@ Rollback VNF LCM Operation
- ROLLED_BACK or FAILED_TEMP
-
- X
* - Change Current VNF Package
- | VNFM reverts changes of current vnf package for VNF instances.
| e.g. Tacker reverts stack parameters and executes Heat stack-update.
- FAILED_TEMP
- ROLLED_BACK or FAILED_TEMP
-
- X
.. note::
| In some cases, Rollback of Change external connectivity cannot recover
@ -288,6 +295,8 @@ Rollback VNF LCM Operation
the IP address and Port Id will be recovered by its rollback operation.
| Otherwise, dynamic IP address and Port Id are not recovered
by rollback operation.
| Currently, Instantiate VNF with kubernetes vim does not support rollback
operation when using v2 API.
This manual describes the following operations as use cases for
rollback operations.
@ -390,6 +399,12 @@ Fail VNF LCM Operation
- FAILED
- X
- X
* - Change Current VNF Package
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
- FAILED_TEMP
- FAILED
-
- X
This manual describes the following operations as use cases for
fail operations.
@ -492,6 +507,16 @@ Retry VNF LCM Operation
- COMPLETED or FAILED_TEMP
- X
- X
* - Change Current VNF Package
- VNFM retries a Change current VNF package operation.
- FAILED_TEMP
- COMPLETED or FAILED_TEMP
-
- X
.. note::
| Currently, Instantiate VNF with kubernetes vim does not support retry
operation when using v2 API.
This manual describes the following operations as use cases for
retry operations.