支持基于 ETSI NFV-SOL 的错误处理

https://blueprints.launchpad.net/tacker/+spec/support-etsi-nfv-specs

NFV 架构框架内的 ETSI 规范 [1] 描述了基于行业需求、SDN/NFV 厂商和电信运营商反馈的 NFV 开发和使用的主要方面。这些规范包括 REST API 和数据模型架构,供 NFV 用户和开发人员在相关产品中使用。

问题描述

在当前的基于 ETSI NFV-SOL 的 Tacker 实现中,Tacker 执行自身的错误处理操作,以响应 VNFM 遇到的错误。

然而,这些操作与当前 ETSI NFV 数据模型不一致。因此,可能与根据 ETSI NFV 规范开发的 第三方 VNFs [3] 缺乏兼容性。支持关键的 ETSI NFV 规范将显著减少 Tacker 集成到电信生产网络的工作量,并简化未来标准的进一步开发和支持。

提议的变更

引入一个新的接口,用于撤销 VNF 实例的 VNF 生命周期管理操作。通过此接口提供的操作是

  • 回滚

1) LCM 资源回滚流程

先决条件:操作状态应设置为“FAILED_TEMP”状态。此外,正在进行的生命周期管理操作应为 VNF 实例化或扩展。

该过程包括以下步骤,如每个部分所示。

1-1) 发送通知

  • VNFM 预先保存了消费者通过“Subscription API”发送的回调 URL。

  • 根据生命周期管理操作的进度状态,发送 API 通知 (Notify) 以通知状态更改并更新内部 operation_status。

  • 接收到通知的节点返回 204 NO CONTENT 表示成功,并掌握 VNFM 的序列状态。

VNFM 使用 VNF 回滚通知的状态如下

  • ROLLING_BACK

  • ROLLED_BACK

后置条件:当回滚操作成功完成时,操作状态将更改为“ROLLEDBACK”状态。

1-2) 回滚 LCM 操作

当收到回滚请求时,VNFM 在终止时正常运行以停止生命周期操作。当回滚操作在 VNF 实例化期间执行时,VNFM 会删除所有 VM 和资源。

../../_images/0115.png

当回滚操作针对扩展执行时,VNFM 会删除扩展操作过程中指定的所有 VM 和资源。

../../_images/029.png

用户需要通过 VNF 配置单独实现回滚子操作。对于扩展,VNFM 会启动 VNF 配置以进行回滚。实例化不启动 VNF 配置。

后置条件:当回滚成功完成时,实例化状态仅对“实例化 VNF”过渡到 NOT_INSTANTIATED 状态。

备选方案

数据模型影响

REST API 影响

将添加以下 RESTful API。此 RESTful API 将基于 ETSI NFV SOL002 和 SOL003 [2]

  • 名称:回滚 VNF 操作
    描述:请求回滚 VNF 生命周期操作
    方法类型: POST
    资源的 URL:/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback
    请求:此资源的资源 URI 变量

    名称

    描述

    vnfLcmOpOccId

    相关 VNF 生命周期管理操作发生的标识符。

    响应:

    数据类型

    基数

    响应代码

    描述

    n/a

    n/a

    成功 202
    错误 404 409

    请求已被接受处理,但处理尚未完成。

安全影响

通知影响

其他最终用户影响

在 python-tackerclient 中添加新的 OSC 命令,以调用 VNF 实例 API 的回滚操作。

性能影响

其他部署者影响

先前创建的 VNF 将不允许使用新引入的 API 进行管理。

开发人员影响

实现

负责人

主要负责人

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

工作项

  • 为 VNF 实例的 LCM 通知接口向 Tacker-server 添加新的 REST API 端点。

  • 修改 python-tackerclient 以添加新的 OSC 命令,用于调用 VNF 实例 RESTful API 的回滚操作。

  • 添加 Tacker 消费 Rest API 以获取通知的功能

  • 添加新的单元和功能测试。

  • 更改 API Tacker 文档。

依赖项

为了执行回滚操作,消费者应提前调用订阅操作 [4],以便获取与目标 LCM 操作相关的“vnfLcmOpOccId”。

测试

将为 VNF 实例的 VNF 生命周期管理添加单元和功能测试用例。

文档影响

将添加完整的用户指南,以说明如何使用示例调用 VNF 实例的 VNF 生命周期管理。

参考资料