使用用户数据的 LCM 操作

本规范描述了使用 LCM 操作用户数据进行 LCM 操作的方法。

问题描述

在 Tacker 中,消费者使用 VNFD 来管理和编排 NFVI 上的网络服务和虚拟化资源。然而,根据 VNF 类型,当前 VNFD 无法描述更多的需求。与实际商业用例相比,在 VNFD 中描述特定的 VNF 部署信息受到限制。

以下是一些实际用例示例。

  • 运营商必须在物理层设计 CPU pinning 分配。

  • 根据 VNF 类型,运营商可能希望附加外部存储而不是 Cinder。

  • 运营商可以根据 VIM/NFVI 的可用性修改 VNF 的高可用性设计。

当前的标准化 [sol001] 不支持在 VNFD 中描述这些配置。另一方面,在实际复杂的用例中,必须考虑上述 VIM 和 NFVI 配置。这种提议的方法实现了 HOT 可以更灵活地描述,并且消费者可以执行满足特定要求的 VNF 部署。

提议的变更

注意

此方法论正在 ETSI ISG NFV 中讨论。规范可以根据标准化 [sol014] 进行修改。

本规范的范围侧重于:使用 LCM 操作用户数据设计 LCM 操作方法。消费者为 HOT 提供输入参数的选择。在这种方法中,消费者通过 VNF Package 向 Tacker 提供以下内容:

  • 基础 HOT:原生云编排模板,HOT 在这里指的是通常用于不同 VNFD 中 LCM 操作的 HOT。这个基础 HOT 可以在 OpenStack API 上工作,并由输入参数填充。

  • LCM 操作用户数据:一个返回键/值数据的脚本,作为用于基础 HOT 的 Heat 输入参数。作为 Heat 输入参数,可以分配在 VNFD 中未静态定义的 OpenStack 参数。(例如,flavor、镜像、硬件加速、驱动程序设置等)。

使用 LCM 操作用户数据的实例化过程

作为一个例子,下面描述了使用 LCM 操作用户数据的 VNF 实例化过程。

../../_images/0112.png

如上图所示,实例化 VNF 包括以下步骤。

  1. 消费者通过 Instantiate VNF API 请求发送 VNF 实例化请求。在此期间,包含基础 HOT、LCM 操作用户数据和 VNFD 的 VNF 包已经上传到 Tacker 中。

  2. 存在一个决策过程来选择实例化方法。Tacker 将检查 InstantiateVNFRequest API 中的“additionalParam”值之一,并决定应执行哪个 LCM 方法。如果存在关于 LCM 操作用户数据的标志,例如 -additionalParam “lcm-operation-user-data:file_name.py lcm-operation-user-data-class:class_name”,Tacker 将按照如下所述使用 LCM 操作用户数据进行 VNF 实例化。如果不是,Tacker 将使用当前 OpenStack 中支持的 Tosca-parser 和 Heat-translator 进行处理。

  3. Tacker 将从 VNF 包中获取 VNFD、参数 LCM 操作用户数据和基础 HOT。

  4. Tacker 创建一个镜像文件和 Flavor 并获取 Id。根据 ETSI NFV 文档 [sol003],镜像和 flavor 的创建由 NFVO 插件执行。在本提案中,Tacker 作为 VNFM 处理这些操作,而不是 NFVO,因为这些功能不会在 Tacker 的 Ussuri 版本中引入。

  5. Tacker 运行 LCM 操作用户数据,并使用 ImageId 和 FlavorId 从 VNFD、VNF 实例化请求主体和 NFVO 的授权响应中提取 Heat 输入参数。

    • 外部网络信息可以从 InstatiateVNFRequest API 中提取,并作为程序参数传递。

    • 根据 ETSI NFV 文档,Image Id 和 Flavor Id 从 NFVO 通过 Grant API 的响应传递。在本提案中,Tacker 作为 VNFM 处理这些 Id,而不是 NFVO,因为 Grant API 不会在 Tacker 的 Ussuri 版本中引入。

  6. Tacker 使用 Heat 输入参数和基础 HOT 创建堆栈。

注意

虽然 LCM 操作用户数据包含用于不同 LCM 操作(例如 VNF 更新)的参数映射,但本版本支持 VNF 实例化。

备选方案

由于 Tacker 使用 Tosca Parser / Heat translator 和提议的方法在创建使用 VNFD 的 HOT 方面是通用的,因此该提案仅是一种可选方法。如果 VNF 具有超出 VNFD 中描述的内容的特殊要求,那么提议的方法能够更灵活地描述 HOT 是合适的。

数据模型影响

REST API 影响

此提议的功能将与另一个规范中提出的新的 LCM API [nfv_api_spec] 一起使用。

安全性

通知影响

其他最终用户影响

消费者必须创建参数 LCM 操作用户数据和基础 HOT。

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

Keiko Kuriu <keiko.kuriu.wa@hco.ntt.co.jp>

其他贡献者

Hiroo Kitamura <hiroo.kitamura@ntt-at.co.jp>

工作项

  1. 实现选择 LCM 方法的决策过程

  2. 实现参数 LCM 操作用户数据的运行时环境

  3. 实现单元和功能测试

  4. 文档

依赖项

此方法将与即将到来的 LCM API 开发一起工作 [lcmapi_spec]

测试

  • 使用 LCM 操作用户数据的 VNF 实例化

参考