ETSI NFV-SOL VNF Update

This document describes how to update VNF in Tacker.

Prerequisites

The following packages should be installed:

  • tacker

  • python-tackerclient

A default VIM should be registered according to VIM Management.

The VNF Package(sample_vnf_pkg.zip) used below is prepared by referring to VNF Package.

Execute before “Instantiate VNF” in the procedure of ETSI NFV-SOL VNF Deployment as VM with TOSCA.

VNF Update Procedures

As mentioned in Prerequisites, the VNF must be created before performing update.

Details of CLI commands are described in VNF Lifecycle Management.

For update VNF instance, you need to prepare a JSON-formatted definition file.

{
  "vnfInstanceName": "sample"
}

Note

sample_param_file.json contains the VNF name as an example. For v1 update operation, the following attributes of VnfInfoModificationRequest are not supported.

  • vnfConfigurableProperties

  • metadata

  • extensions

  • vnfcInfoModifications

  • vimConnectionInfo

Note

The v2 update operation can change the vimConnectionInfo associated with an existing VNF instance. Even if update operation specify multiple vimConnectionInfo associated with one VNF instance, only one of them will be used for life cycle management operations. It is not possible to delete the key of registered vimConnectionInfo.

How to Update VNF

Execute Update CLI command and check the name of VNF instance before and after update. This is to confirm that the name of VNF instance has changed after update. See Heat CLI reference. for details on Heat CLI commands.

VNF instance name before update:

$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name'

Result:

+-------------------+-------+
| Field             | Value |
+-------------------+-------+
| VNF Instance Name | None  |
+-------------------+-------+

Update VNF can be executed by the following CLI command.

$ openstack vnflcm update VNF_INSTANCE_ID --I sample_param_file.json

Result:

Update vnf:c64ea0fd-a90c-4754-95f4-dc0751db519d

Note

Create a parameter file that describes the resource information to be changed in advance.

VNF instance name after operation:

$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name'

Result:

+-------------------+---------+
| Field             | Value   |
+-------------------+---------+
| VNF Instance Name | sample  |
+-------------------+---------+

You can confirm that the VNF Instance Name has been changed by the update operation.

If the vnfdId is not changed by update operation, the current value shall be updated using the request parameter. The following attributes are updated by performing JSON Merge Patch with the values set in the request parameter to the current values.

  • vnfConfigurableProperties

  • metadata

  • extensions

If the vnfdId is requested to be changed by v1 update operation, the following attributes of VNF instance shall be updated in addition to those set in the request parameters. These are updated with the values obtained from the VNFD associated with the new vnfdId.

  • vnfProvider

  • vnfProductName

  • vnfSoftwareVersion

  • vnfdVersion