ETSI NFV-SOL VNF 更新¶
本文档描述了如何在 Tacker v1 API 中更新 VNF。
注意
这是 Tacker v1 API 的文档。请参阅 ETSI NFV-SOL VNF 更新 获取 Tacker v2 API 的文档。
先决条件¶
应安装以下软件包
tacker
python-tackerclient
应根据 VIM 管理 注册默认 VIM。
下面使用的 VNF 包(sample_vnf_package_csar.zip)是通过参考 VNF 包 准备的。
在 ETSI NFV-SOL VNF 部署为使用 TOSCA 的 VM 的过程中,在“实例化 VNF”之前执行。
VNF 更新流程¶
如前提条件中所述,必须先创建 VNF 才能执行更新。
CLI 命令的详细信息在 使用 v1 Tacker 进行 VNF 生命周期管理 中描述。
要更新 VNF 实例,您需要准备一个 JSON 格式的定义文件。
{
"vnfInstanceName": "sample"
}
注意
sample_param_file.json 包含 VNF 名称作为示例。对于 v1 更新操作,不支持以下 VnfInfoModificationRequest 的属性:
vnfConfigurableProperties
extensions
vnfcInfoModifications
vimConnectionInfoDeleteIds
注意
更新操作可以更改与现有 VNF 实例关联的 vimConnectionInfo。即使更新操作指定了与一个 VNF 实例关联的多个 vimConnectionInfo,也只会使用其中一个用于生命周期管理操作。无法删除已注册的 vimConnectionInfo 的键。
如何更新 VNF¶
执行更新 CLI 命令,并在更新前后检查 VNF 实例的名称。这是为了确认 VNF 实例的名称在更新后已更改。有关 Heat CLI 命令的详细信息,请参阅 Heat CLI 参考。
更新前的 VNF 实例名称
$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name'
结果
+-------------------+------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------+
| VNF Instance Name | vnf-810d8c9b-e467-4b06-9265-ac9dce015fce |
+-------------------+------------------------------------------+
可以通过以下 CLI 命令执行更新 VNF:
$ openstack vnflcm update VNF_INSTANCE_ID --I sample_param_file.json
结果
Update vnf:810d8c9b-e467-4b06-9265-ac9dce015fce
注意
创建描述要更改的资源信息的文件。
操作后的 VNF 实例名称
$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name'
结果
+-------------------+--------+
| Field | Value |
+-------------------+--------+
| VNF Instance Name | sample |
+-------------------+--------+
您可以确认 VNF 实例名称已通过更新操作更改。
通过使用请求参数中设置的值与当前值进行 JSON Merge Patch,以下属性将被更新:* metadata
如果更新操作没有更改 vnfdId,则应使用请求参数更新当前值。
如果 v1 更新操作请求更改 vnfdId,则除了请求参数中设置的属性之外,还应更新 VNF 实例的以下属性。这些属性将使用与新的 vnfdId 关联的 VNFD 中获得的值进行更新。
vnfProvider
vnfProductName
vnfSoftwareVersion
vnfdVersion