功能分类

本文档展示了一个矩阵,描述了哪些功能已准备好使用,哪些功能仍在开发中。它包括指向相关文档和功能测试的链接。

警告

请注意:这是一个正在进行中的工作!

目标

用户希望为他们的用例获得可靠、长期的解决方案。功能分类矩阵标识了哪些功能已完成并准备好使用,哪些功能应谨慎使用。

该矩阵也有利于开发人员,因为它提供了一个需要进一步工作才能被认为完成的功能列表。

以下是针对一些重要垂直领域的矩阵

有关每个矩阵中概念的更多详细信息,请参阅 概念说明

通用云功能

这是开发/测试云和其他类似通用云所需的主要功能的摘要,并描述了它们当前的状态。

以下部分介绍 NFV 和 HPC 特定功能。这些关注对这些更具体的用例集至关重要的特定功能和场景。

摘要

特性 成熟度 Ironic CI libvirt+kvm (x86 & ppc64) libvirt+kvm (s390x) libvirt+virtuozzo CT libvirt+virtuozzo VM VMware CI IBM zVM CI
创建服务器和删除服务器 完成 ? ?
快照服务器 完成 ? ? ?
服务器电源操作 完成 ? ?
重建服务器 完成 ? ?
调整服务器大小 完成 ? ?
卷操作 完成 ?
启动时的自定义磁盘配置 完成 ?
启动时的自定义 neutron 配置 完成 ? ? ?
暂停服务器 完成 ?
挂起服务器 完成 ?
服务器控制台输出 完成 ? ? ?
服务器救援 完成 ?
服务器 Config Drive 完成 ?
服务器更改密码 实验性 ?
服务器 Shelve 和 Unshelve 完成 ?

细节

NFV 云功能

网络功能虚拟化 (NFV) 是将网络节点功能虚拟化为构建块,这些构建块可以连接或链接在一起以创建特定服务。通常,这些工作负载需要类似裸机的性能,即低延迟和接近线路速度的性能。

重要提示

在 Train 之前的部署中,或在正在进行滚动升级的 Stein/Train 混合部署中,除非明确 启用,使用 libvirt 驱动程序时,具有 NUMA 拓扑结构的实例的实时迁移是不可能的。NUMA 拓扑结构可以显式指定,或者由于使用 CPU pinning 或 huge pages 而隐式添加。有关更多信息,请参阅 bug #1289064。从 Train 开始,使用 libvirt 驱动程序时,具有 NUMA 拓扑结构的实例的实时迁移完全受支持。

摘要

特性 成熟度 libvirt+kvm (x86 & ppc64) libvirt+kvm (s390x)
NUMA 放置 实验性 ?
CPU 固定策略 实验性 ?
CPU 固定线程策略 实验性 ?

细节

HPC 云功能

高性能计算 (HPC) 云有一些特定的需求,这些需求涵盖在本组功能中。

摘要

特性 成熟度 Ironic libvirt+kvm (x86 & ppc64) libvirt+kvm (s390x) libvirt+virtuozzo CT libvirt+virtuozzo VM VMware CI
GPU 直通 实验性 ? l ?
虚拟 GPU 实验性 queens ? ? ?

细节

概念说明

本文档使用以下术语。

用户

这些是我们在本文档中谈论的用户

应用程序部署者

直接或间接使用 API 创建和删除服务器

应用程序开发者

创建在云上运行的镜像和应用程序

云操作员

管理云

自助服务管理员

运行和使用云

注意

这不是一个详尽的用户角色列表,而是一组指示性用户。

功能组

为了减小矩阵的大小,我们将功能组织成组。每个组映射到一组可以通过一组场景和测试验证的用户故事。通常,这意味着一组 tempest 测试。

此列表侧重于诸如附加和分离卷之类的 API 概念,而不是诸如将 iSCSI 卷附加到基于 KVM 的 VM 之类的部署特定概念。

部署

部署映射到特定的测试环境。我们提供环境的完整描述,以便能够复现针对每个功能组报告的测试结果。

此描述包括部署的所有方面,例如虚拟机监控程序、nova-compute 服务的数量、存储、网络驱动程序以及正在测试的镜像类型。

功能组成熟度

功能组成熟度评级是针对 API 概念而言的,而不是针对特定的部署而言的。每个功能组的部署评级涵盖了该细节。

注意

虽然有一些相似之处,但此列表与 Interop 工作没有直接关系。

功能组评级

不完整

不完整的功能是指那些没有足够的功能来满足实际用例的功能。

实验

实验性功能应谨慎使用。它们可能几乎没有或没有上游测试,因此很可能包含错误。

完成

为了被认为完成,一个功能必须具备

  • 完整的 API 文档(概念和 REST 调用定义)

  • 完整的管理员文档

  • tempest 测试,用于定义该功能是否正常工作

  • 足够的功能和可靠性,使其在实际场景中可用

  • 合理预期该功能将得到长期支持

完成且必需

有各种原因导致一个完成的功能可能是必需的,但通常是在所有驱动程序都支持该功能时。新的驱动程序需要在被允许进入上游 Nova 之前证明它们支持所有必需的功能。

必需的功能是指任何新技术在被允许进入代码库之前都必须支持的功能。列表越大,基于 Nova 的云上可用的功能就越多。

已弃用

已弃用的功能是指计划在 Nova 的未来主要版本中删除的功能。如果一个功能被标记为完成,则永远不应弃用它。

如果一个功能在几个版本中不完整或处于实验阶段,它就有可能被弃用并最终从代码库中删除。

功能组的部署评级

部署评级是指在特定部署上每个功能组的测试状态。

部署评级

未知

没有可用数据。

未实现

没有测试存在。

已实现

自我声明 tempest 测试通过。

定期测试

由第三方 CI 测试。

已检查

作为检查或门控队列的一部分进行测试。

最终目标是从第三方 CI 报告系统自动执行此列表,但目前我们将在 ini 文件中记录手动检查。理想情况下,我们将在每个里程碑处审查此列表。