Tacker Horizon 中的 NFV 编排 API v2.0¶
本规范建议在 Tacker horizon 中支持 NFV 编排 API v2.0 [1]。当前的 tacker-horizon 仅提供调用遗留 API 的功能,这些 API 包含在 NFV 编排 API v1.0 中。由于 Tacker 社区已经宣布废弃遗留 API,我们应该将其更新为使用 v2.0 API 的视图。
https://blueprints.launchpad.net/tacker/+spec/v2-api-horizon
问题描述¶
Tacker 主要有两个 NFV 编排 API:v1.0 和 v2.0。其中,tacker-horizon 仅支持遗留 Tacker API,它是 v1.0 API 之一,包含三个 API,即遗留 Tacker API、虚拟化网络功能包 (VNF 包) 和虚拟化网络功能生命周期管理接口 (VNF LCM)。虽然 Tacker 被定义为由 API 客户端(如 NFVO/EM)调用,因此不一定需要提供 GUI,但一些尝试使用 Tacker 进行评估的人员首先会使用 tacker-horizon [2]。当前的 tacker-horizon 会给他们带来误解,认为 Tacker 同时充当 NFVO/VNFM,或者不符合 ETSI NFV 标准。为了避免这种情况,我们需要更新 tacker-horizon。
提议的变更¶
本规范建议使用以下最新的 NFV 编排 API v2.0 更新 tacker-horizon。
虚拟化网络功能生命周期管理接口 (VNF LCM) v2
虚拟化网络功能故障管理接口 (VNF FM) v1
虚拟化网络功能性能管理接口 (VNF PM) v2
以下两个也包含在 v2.0 API 中的 API 不在范围内,因为它们仅假设由 Prometheus 等监控工具调用。
Prometheus 插件接口
故障通知接口
此外,为了管理用于测试的 VNF 包,本规范还建议支持编排 API v1.0,如下所示。
虚拟化网络功能包 (VNF 包)
注意
VNF 包管理本质上是 NFVO 功能,但是,在实验环境中,由于 NFVO 可能不可用,VNFM 自身管理 VNF 包更容易。
开发步骤如下。
重命名当前仪表板面板组(即 VNF 管理和 NFV 编排)为明确显示其为遗留版本的名称
(可选) 向当前面板组添加弃用警告
在 tacker-horizon 的 tacker-client 中添加调用 v2.0 API 的新方法
添加并实现 v2.0 API 的新面板组
术语¶
元素名称¶
本文档的其余部分使用以下图中描述的元素名称。
输入字段类型¶
以下符号用于指定输入字段类型。
<File>: 上传表单
示例
<KeyValue>: 键值对表单
示例
<Checkbox>: 复选框
示例
FIELD!: FIELD 是必需的
示例
[A|B]: 包含值 A 和 B 的选项
示例
注意
按钮和上述下拉菜单都可以接受为实现这些选项的方式。
当前的 Tacker-horizon¶
这些图像显示了当前 tacker-horizon 的面板组。
上述图像中显示的 NFV 仪表板的结构如下所述。
- VNF 管理
VNF 目录
VNF 管理器
- NFV 编排
VIM 管理
VNFFG 目录
VNFFG 管理器
NS 目录
NS 管理器
它们都属于遗留 API,因此将在接下来的几个周期中删除。
建议的 Tacker-horizon¶
下面描述了建议的 tacker-horizon 的结构。基本上,预计这些面板将实现与相应的 CLI 命令相同的功能 [3]。
VNF 包
- VNF LCM v2
VNF LCM
VNF OP OCC
LCCN 订阅
- VNF FM v1
警报
订阅
- VNF PM v2
PM 作业
PM 阈值
在以下部分,将描述每个面板的详细信息。
VNF 包¶
数据表内容¶
ID
VNF 产品名称
入职状态
使用状态
运行状态
表操作¶
上传 VNF 包
删除 VNF 包
“上传 VNF 包”操作执行创建 VNF 包信息和上传 VNF 包。
行操作¶
获取 VNF 包
更新 VNF 包信息
删除 VNF 包
创建 VNF 标识符
详细信息选项卡组¶
- VNF 包详细信息选项卡
附加工件
校验和
ID
链接
入职状态
运行状态
软件镜像
使用状态
用户定义的数据
VNF 产品名称
VNF 提供商
VNF 软件版本
VNFD ID
VNFD 版本
模态表单视图¶
- 上传 VNF 包
用户数据 <KeyValue>
URL
用户名
密码
VNF 包 <File>
- 更新 VNF 包信息
运行状态
用户日期 <KeyValue>
VNF LCM v2/VNF LCM¶
数据表内容¶
ID
VNF 实例名称
实例化状态
VNF 提供商
VNF 软件版本
VNF 产品名称
VNFD ID
表操作¶
创建 VNF 标识符
删除 VNF 标识符
行操作¶
实例化 VNF
终止 VNF
删除 VNF 标识符
修复 VNF
更新 VNF
缩放 VNF
更改外部 VNF 连接
更改当前 VNF 包
表操作菜单¶
无
详细信息选项卡组¶
- 列出 LCM 操作事件
ID
OperationState
VnfInstanceID
Operation
- [行操作]
回滚 VNF 生命周期管理操作
重试
失败
- VNF 实例详细信息选项卡
ID
已实例化的 Vnf 信息
实例化状态
链接
VIM 连接信息
VNF 实例描述
VNF 实例名称
VNF 产品名称
VNF 提供商
VNF 软件版本
VNFD ID
VNFD 版本
列出 LCM 操作事件的详细信息选项卡将重定向到 VNF LCMOPOCC v2 面板。按 VNF 实例 ID 过滤的列出 LCM 操作事件。
模态表单视图¶
- 创建 VNF 标识符
VNFD ID!
参数文件 <File>
名称
描述
- 实例化 VNF
VNF 实例!
参数文件! <File>
- 终止 VNF
终止类型 [GRACEFUL|FORCEFUL]
优雅终止超时
删除 VNF 实例 <Checkbox>
- 修复 VNF
原因
VNFC 实例
- 更新 VNF
参数文件! <File>
- 缩放 VNF
类型! [SCALE_IN|SCALE_OUT]
方面 ID!
步骤数
参数文件 <File>
- 更改外部 VNF 连接
参数文件! <File>
- 更改当前 VNF 包
参数文件! <File>
VNF LCM v2/VNF LCM OP OCC¶
数据表内容¶
ID
OperationState
VnfInstanceID
Operation
表操作¶
回滚 VNF 生命周期管理操作
重试
失败
对多个 VNF OP OCC 应用操作。
行操作¶
回滚 VNF 生命周期管理操作
重试
失败
表操作菜单¶
无
详细信息选项卡组¶
- VNF OP OCC 详细信息选项卡
CancelMode
ChangedExtConnectivity
ChangedInfo
Error
GrantID
ID
IsAutomaticInvocation
IsCancelPending
链接
Operation
OperationParams
OperationState
ResourceChanges
StartTime
StateEnteredTime
VnfInstanceID
模态表单视图¶
无
VNF LCM v2/LCCN 订阅¶
数据表内容¶
ID
回调 URI
表操作¶
创建 Lccn 订阅
删除 Lccn 订阅
行操作¶
删除 Lccn 订阅
表操作菜单¶
无
详细信息选项卡组¶
- LCCN 订阅详细信息选项卡
回调 URI
过滤器
ID
链接
模态表单视图¶
- 创建 Lccn 订阅
参数文件! <File>
VNF FM v1/订阅¶
数据表内容¶
ID
回调 Uri
表操作¶
创建订阅
删除订阅
行操作¶
删除订阅
表操作菜单¶
无
详细信息选项卡组¶
- VNF FM 订阅详细信息选项卡
回调 Uri 过滤器
ID
链接
模态表单视图¶
- 创建订阅
参数文件! <File>
VNF FM v1/警报¶
数据表内容¶
ID
受管对象 ID
确认状态
事件类型
感知严重性
可能原因
表操作¶
无
行操作¶
更新警报
表操作菜单¶
无
详细信息选项卡组¶
- VNF FM 警报详细信息选项卡
确认状态
警报确认时间
警报更改时间
警报清除时间
警报引发时间
关联警报 ID
事件时间
事件类型
故障详细信息
故障类型
ID
是根本原因
链接
受管对象 ID
感知严重性
可能原因
根本原因故障资源
VNFC 实例 ID
模态表单视图¶
- 更新警报
VNF FM 警报 ID!
ACK 状态! [ACKNOWLEDGED|UNACKNOWLEDGED]
VNF PM v2/PM 作业¶
数据表内容¶
ID
对象类型
链接
表操作¶
创建 PM 作业
删除 PM 作业
行操作¶
更新 PM 作业
删除 PM 作业
表操作菜单¶
无
详细信息选项卡组¶
- VNF PM 作业详细信息选项卡
回调 URI
标准
ID
链接
对象实例 ID
对象类型
报告
子对象实例 ID
- PM 作业报告
条目
PM 作业报告列出了报告字段的 PM 作业的详细信息。
模态表单视图¶
- 创建 PM 作业
参数文件! <File>
- 更新 PM 作业
参数文件! <File>
VNF PM v2/PM 阈值¶
数据表内容¶
ID
对象类型
链接
表操作¶
创建 PM 阈值
删除 PM 阈值
行操作¶
更新 PM 阈值
删除 PM 阈值
表操作菜单¶
无
详细信息选项卡组¶
- VNF PM 阈值详细信息选项卡
回调 URI
标准
ID
链接
对象实例 ID
对象类型
子对象实例 ID
模态表单视图¶
- 创建 PM 阈值
参数文件! <File>
- 更新 PM 阈值
参数文件! <File>
讨论¶
您需要决定是否维护 VIM 管理
生成参数文件的表单可以在未来的版本中实现,但本周期内不会实现
备选方案¶
只是宣布 tacker-horizon 不支持最新的 2.0 API。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
使用当前 tacker-horizon 的 Tacker 用户会受到影响。
性能影响¶
无。
其他部署者影响¶
使用当前 tacker-horizon 的 Tacker 用户会受到影响。
开发人员影响¶
我们需要维护 tacker-horizon 以及服务器端 API。
实现¶
负责人¶
- 主要负责人
Hiromu Asahina (hiromu) <hiromu.asahina@ntt.com> <hiromu.a5a@gmail.com>
- 其他贡献者
待定
工作项¶
重命名当前仪表板面板组(即 VNF 管理和 NFV 编排)为明确显示其为遗留版本的名称
(可选) 向当前面板组添加弃用警告
在 tacker-horizon 的 tacker-client 中添加调用 v2.0 API 的新方法
添加并实现 v2.0 API 的新面板组
依赖项¶
无
测试¶
测试 tacker-horizon 已经在另一个 BP 中提出,不在此文档的范围内。
文档影响¶
无。