v1 Heal 中启用/禁用 Cinder 卷重创建的选项¶
https://blueprints.launchpad.net/tacker/+spec/v1-heal-cinder-volume
本规范建议在发出 v1 Heal 请求时,添加一个选项以启用或禁用 Cinder 卷的重创建。
问题描述¶
当前的 v1 Heal 请求始终会重新创建指定的 VNFC 实例及其相关的 Cinder 存储资源,这对于希望保留其存储数据的用户来说不够灵活。v2 Heal 请求已经提供了一个选项来控制此行为。
提议的变更¶
v1 Heal 请求中现有的 additionalParams 字段将被扩展,以包含一个新的参数,允许用户选择是否重新创建 Cinder 存储资源。
为了实现这一点,将在 tacker.conf 中的 [vnf_lcm] 下添加两个新的参数。如果未定义任何一个参数,现有行为将保持不变。
heal_vnfc_block_storage 设置默认行为。如果 Heal 请求未指定该参数,则使用此值。
heal_include_block_storage_key 设置可以在 Heal 请求的 additionalParams 字段中使用的参数名称。这允许用户将请求格式与 v2 对齐,或者在需要时选择不同的名称。(将其设置为“all”将匹配 v2 请求格式。[1])
通过配置这两个参数,用户可以灵活地调整行为以适应他们的操作需求。
tacker.conf 的示例
[vnf_lcm]
heal_vnfc_block_storage = false
heal_include_block_storage_key = heal_include_storage # customized name
在这种情况下,使用 tacker-cli 和 additional-param 的 Heal 请求示例
openstack vnflcm heal --vnfc-instance <vnfc_id> --additional-param-file <file_path> -- <vnflcm_id>
{
"additionalParams":
{
"heal_include_storage": true
}
}
在这种情况下,只有在 Heal 请求中明确指定时,才会重新创建存储。这意味着它适用于大多数用户在 Heal 操作期间希望保留其存储数据的环境。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
升级影响¶
无
实现¶
负责人¶
- 主要负责人
Hitomi Koba <hi-koba@kddi.com>
工作项¶
考虑使
heal_include_block_storage_key可配置,基于 ETSI-NFV 方向(正在讨论中)。更新文档 (文档影响)。
更新 OpenStack 驱动程序 (
tacker/nfvo/drivers/vim/openstack_driver.py) 以检查heal_vnfc_block_storage和heal_include_block_storage_key配置值,并相应地分支逻辑。根据需要修改其他相关部分。
依赖项¶
无
测试¶
添加单元测试。