ETSI NFV-SOL CNF 更新¶
本文档描述了在 Tacker 中更新 CNF 的方法。请参阅 使用 Mgmt Driver 更新 ETSI NFV-SOL CNF,了解如何在 Tacker 中使用 Mgmt Driver 更新 CNF。
先决条件¶
应安装以下软件包
tacker
python-tackerclient
执行 ETSI NFV-SOL CNF(容器化 VNF)部署 流程中的“创建 VNF”到“实例化 VNF”步骤。
CNF 更新流程¶
如前提条件中所述,必须先创建 CNF 才能执行更新。
CLI 命令的详细信息请参阅 使用 v2 Tacker 进行 VNF 生命周期管理。
要更新 VNF 实例,您需要准备一个 JSON 格式的定义文件。
{
"vnfInstanceName": "sample"
}
注意
sample_param_file.json 包含 VNF 名称作为示例。更新操作可以更新以下内容:
vnfInstanceName
vnfInstanceDescription
vnfId
vnfConfigurableProperties
metadata
extensions
vnfcInfoModifications
vimConnectionInfo
注意
更新操作可以更改与现有 VNF 实例关联的 vimConnectionInfo。即使更新操作指定了与一个 VNF 实例关联的多个 vimConnectionInfo,也只会使用其中一个用于生命周期管理操作。无法删除已注册的 vimConnectionInfo 的键。
如何更新 CNF¶
执行更新 CLI 命令,并在更新前后检查 VNF 实例的名称。这是为了确认更新后 VNF 实例的名称已更改。
更新前的 VNF 实例名称
$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name' \
--os-tacker-api-version 2
结果
+-------------------+-------+
| Field | Value |
+-------------------+-------+
| VNF Instance Name | |
+-------------------+-------+
可以通过以下 CLI 命令执行更新 VNF:
$ openstack vnflcm update VNF_INSTANCE_ID --I sample_param_file.json \
--os-tacker-api-version 2
结果
Update vnf:431b94b5-d7ba-4d1c-aa26-ecec65d7ee53
注意
创建描述要更改的资源信息的文件。
操作后的 VNF 实例名称
$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name' \
--os-tacker-api-version 2
结果
+-------------------+--------+
| Field | Value |
+-------------------+--------+
| VNF Instance Name | sample |
+-------------------+--------+
您可以确认 VNF 实例名称已通过更新操作更改。
如果更新操作没有更改 vnfdId,则应使用请求参数更新当前值。以下属性通过使用请求参数中的值与当前值进行 JSON Merge Patch 来更新:
vnfConfigurableProperties
metadata
extensions
如果更新操作请求更改 vnfdId,则除了请求参数中设置的属性外,VNF 实例的以下属性也应更新。这些属性将使用与新的 vnfdId 关联的 VNFD 中的值进行更新。
vnfProvider
vnfProductName
vnfSoftwareVersion
vnfdVersion
注意
在 CNF 的更新操作中,如果在更新 vnfdId 后执行“Scale”(扩展)或“Heal”(修复)操作,则应使用 更新 之 前 与 vnfdId 关联的 VNF 包。因此,为了维护 vnfdId 的更新,有必要先执行一次“Terminate VNF”(终止 VNF),然后执行“Instantiate VNF”(实例化 VNF)。