ETSI NFV-SOL VNF 更新¶
本文档描述了如何在 Tacker v2 API 中更新 VNF。
先决条件¶
应安装以下软件包
tacker
python-tackerclient
在 使用 LCM 操作用户数据进行 ETSI NFV-SOL VNF 部署为 VM 的过程中,在“创建 VNF”或“实例化 VNF”之前执行。
VNF 更新流程¶
如前提条件中所述,必须先创建 VNF 才能执行更新。
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 的键。
如何更新 VNF¶
执行更新 CLI 命令,并在更新前后检查 VNF 实例的名称。这是为了确认更新后 VNF 实例的名称已更改。有关 Heat CLI 命令的详细信息,请参阅 Heat CLI 参考。
更新前的 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:df9150a0-8679-4b14-8cbc-9d2d6606ca7c
操作后的 VNF 实例名称
$ openstack vnflcm show VNF_INSTANCE_ID \
-c 'VNF Instance Name' --os-tacker-api-version 2
结果
+-------------------+--------+
| Field | Value |
+-------------------+--------+
| VNF Instance Name | sample |
+-------------------+--------+
您可以确认 VNF 实例名称已通过更新操作更改。
通过使用请求参数中设置的值与当前值进行 JSON Merge Patch,来更新以下属性。
vnfConfigurableProperties
metadata
extensions
如果通过更新操作请求更改 vnfdId,除了请求参数中设置的属性之外,VNF 实例的以下属性也应更新。这些属性将使用与新的 vnfdId 关联的 VNFD 中获得的值进行更新。
vnfProvider
vnfProductName
vnfSoftwareVersion
vnfdVersion
注意
如果在“实例化”之后更新 VNF 实例的 vnfdId,则在执行“扩展”或“修复”之前,实际资源不会更新。