2026.1 项目工作项

OpenStack Ironic 虚拟项目团队会议于 2025 年 10 月举行。Ironic 开发人员和运维人员讨论了许多潜在的功能和其他正在进行的工作,用于 2026.1 (Gazpacho) 版本。这些讨论记录在此文档中,提供了下一个开发周期的主要优先级列表。有关更多信息,请查看每个主题的链接,或通过 OFTC 的 #openstack-discuss 频道或 openstack-discuss 邮件列表联系 Ironic 团队。

Ironic 贡献者们工作繁忙,他们的工作涉及多个开源项目,并承担不同的下游责任。我们无法保证任何或全部计划中的工作都能完成,这也不是 Ironic 团队成员未来六个月内可能做的一切事情的完整列表。

表格中的每个项目都包括
  • 工作项名称,链接到描述

  • 类别可以是…
    • 维护:保持 Ironic 正常运行必须执行的工作

    • Bugfix:增强现有代码以覆盖更多边缘情况并解决 bug 的工作

    • Feature:一个以前不存在的新 Ironic 功能

  • Champions 是最熟悉相关技术的人员,如果您想实施工作项,他们是一个很好的资源。

  • 跟踪链接是指通常跟踪工作的 bug 链接。

2026.1 工作项

名称

类别

跟踪

Champions

后 eventlet 性能改进

Feature

https://etherpad.opendev.org/p/ironic-asyncio

cid, dtantsur, iurygregory

延迟任务

Feature

https://review.opendev.org/c/openstack/ironic-specs/+/954612

TheJulia, dtantsur, cid

Sushy 集成到 Ironic

维护

N/A

iurygregory

NVMe-over-TCP 支持

Feature

https://bugs.launchpad.net/nova/+bug/2126675

TheJulia, cardoe

图形化控制台改进

Feature

https://review.opendev.org/c/openstack/nova/+/942528

stevebaker, TheJulia

基于 Trait 的网络

Feature

https://specs.openstack.org/openstack/ironic-specs/specs/approved/trait-based-port-scheduling.html

clif, JayF, TheJulia

VXLAN 附件

Feature

https://review.opendev.org/c/openstack/ironic-specs/+/959401

cardoe, TheJulia

独立网络

Feature

N/A

alegacy, dtantsur, JayF

API 响应模式验证,OpenAPI 规范

维护

通过 codegenerator 为 Ironic 添加 OpenAPI 支持

stephenfin, adammcarthur5

通过 NFS 和 SMB 的 Redfish 虚拟介质

Feature

https://bugs.launchpad.net/ironic/+bug/2119212

cid

硬件健康监控

Feature

N/A

janders, dtantsur

数据库字符集迁移

维护

https://bugs.launchpad.net/ironic/+bug/2130359

rpittau

驱动程序淘汰

维护

N/A

JayF, janders, iurygregory

目标详情

后 eventlet 性能改进

在后 eventlet 时代,Ironic 有机会实现 async/await 模式,从而实现指标收集和电源同步的高并行性。这项工作将侧重于传感器数据收集的概念验证实现,特别关注 Redfish 会话缓存。目标是衡量性能改进,并确定 Ironic 中异步实现的适当范围。

这项工作最初将侧重于管理和电源驱动程序接口,因为这些是我们可以从并行性中获得最大收益的领域。团队将使用 sushy-tools 创建具有许多节点的测试环境,并在实施前后测量性能改进。

延迟任务

目标是消除 conductor 线程中的 sleep() 调用,这在后 eventlet 时代尤其昂贵。延迟任务将允许 Ironic 安排稍后执行的工作,例如从端口绑定恢复、检查 BMC 就绪状态和处理固件升级。这项工作与 async/await 实现重叠,并且这两个努力将协调进行。

初始实现不会暴露公共 API,以防止滥用。是否添加 API 端点将重新评估在 async/await 设计最终确定之后。

Sushy 集成到 Ironic

团队正在评估将 sushy 移动到 ironic 仓库中,以减少维护开销、简化发布并消除项目之间的 API 表面管理。这种改变将类似于 ironic-lib 集成。已经启动了邮件列表讨论,以收集社区反馈,然后再进行此更改。

我们打算即使模块本身可能移动到 ironic 中,也允许 sushy 导入。

NVMe-over-TCP 支持

这项工作将为 Ironic 添加对 NVMe-over-TCP 卷附件的支持,包括

  • 添加 NVMe-over-TCP 连接器支持

  • 实施 BMC 配置以进行 NVMe 启动

  • 与 Cinder 和 Nova 协调附件流程改进

这项工作将使操作员能够使用现代存储协议进行裸机,对于使用主要支持 NVMe-over-TCP 的存储阵列的操作员尤其重要。

图形化控制台改进

在之前周期的图形化控制台工作的基础上,这项工作侧重于

  • 合并剩余的集成测试更改

  • 为 Nova 集成用户公开图形化控制台功能

  • 实施其他控制台驱动程序(例如,基于 Kubernetes 的驱动程序)

  • 将浏览器工具切换为使用 Firefox 扩展

这项工作需要与 Nova 和部署项目协调,以确保该功能被广泛使用。

基于 Trait 的网络

继续之前周期的工作,以基于配置中定义的 traits 实现动态端口和端口组附件。当前状态

  • 端口和端口组模型更改基本完成

  • 过滤器表达式的语法和解析完成

  • 配置文件实现接近完成

  • 网络规划和操作生成正在进行中

  • 下一步:在配置时执行操作,动态端口组装

这项工作能够实现更灵活的网络配置,并为其他网络改进奠定基础。

VXLAN 附件

操作员们对在没有本机 VXLAN 支持的情况下扩展环境表示担忧。这项工作将使裸机节点能够连接到 VXLAN 网络,从而解决 VLAN 扩展限制。这需要

  • Neutron ML2 插件支持具有物理网络的 VXLAN

  • Ironic 支持 VXLAN 绑定

  • 与 networking-generic-switch 协调进行交换机配置

这项工作对于已经耗尽 VLAN 空间的大规模部署尤其重要。

独立网络

网络代表着 Ironic 真正独立的下一步,寻找替代 OpenStack 集成场景,从而替代 Neutron。在上一个周期中,讨论转化为代码,实施工作开始了。

已经编写了一个独立网络的可用原型,预计在本周期合并,支持使用 networking-generic-switch 直接从 ironic 调用将节点放置到 VLAN 中。

API 响应模式验证,OpenAPI 规范

继续之前周期的工作。Ironic 团队正在从 API 代码生成 OpenAPI 规范文档,并重构微版本处理。这项工作将在 2026.1 周期中以新的活力继续进行。

通过 NFS 和 SMB 的 Redfish 虚拟介质

一些 BMC 不支持虚拟介质的 HTTPS,需要 NFS 或 SMB/CIFS 共享。这项工作将添加对这些传输协议的支持,但可能不包括 ironic 对实际网络文件系统服务的管理。

硬件健康监控

添加基于 Redfish 系统状态字段的基本硬件健康监控。这将从系统和潜在的网络适配器收集健康状态,将状态更改记录在节点历史记录中,并通过 API 公开信息。这项工作利用现有的电源同步循环来收集其他硬件状态信息。

这项工作还将研究将健康状态代理到 Metal3 的 BareMetalHost.Status,用于基于 Kubernetes 的部署。

数据库字符集迁移

MySQL 的 3 字节 UTF-8 字符集编码已被弃用。Ironic 需要迁移到 4 字节 UTF-8 (utf8mb4) 编码。这将需要数据库迁移,并与部署项目协调,以确保顺利升级。

我们预计这将是未来几个周期的 OpenStack 范围内的优先级,Ironic 团队已准备好尽我们的一份力量。

驱动程序淘汰

由于依赖于与兼容版本 pysnmp,而这些版本未进行安全更新,并且没有志愿者对其进行现代化改造,因此 iLO 驱动程序将被弃用并淘汰。iRMC 驱动程序同样通过 snmp 驱动程序依赖于 pysnmp,除非富士通或 iRMC 的用户能够承诺上游维护,否则其弃用将继续进行。

在删除之前,这两个驱动程序将收到升级检查(回溯到上一个版本),警告有关弃用。

维护任务

在发布周期内,项目领导必须执行一些定期任务。这些任务应在每个计划的团队会议上跟进,以确保正在执行。

2026.1 维护任务

项目

文档

频率

负责人

发布 bugfix 分支

https://docs.openstack.org/ironic/latest/contributor/releasing.html#bugfix-branches

每个周期两个额外的发布,大约在里程碑 1 和 2 处。

DPL 发布联络人

淘汰过期的 bugfix 分支

https://docs.openstack.org/ironic/latest/contributor/releasing.html#bugfix-branches

超过 9 个月的 bugfix 分支必须被淘汰。

DPL 发布联络人

Bug 三级分类

https://docs.openstack.org/ironic/latest/contributor/bug-deputy.html

三级分类并回复 bug,确保定期 CI 正常。

会议中轮换的志愿者“副手”

发布截止日期

https://docs.openstack.org/ironic/latest/contributor/releasing.html

确保我们满足各种发布截止日期和冻结时间。

DPL 发布联络人

发布计划

贡献者在选择要处理的项目时,请记住我们的计划发布。

以下日期仅供参考;请查看 https://releases.openstack.org/gazpacho/schedule.html 以获取与发布相关的完整时间表,以及 https://docs.openstack.org/ironic/latest/contributor/releasing.html 以获取 Ironic 特定的发布信息。

Bugfix Release 1

第一个 bugfix 发布计划于 2025 年 11 月最后一周进行。

Bugfix release 2

第二个 bugfix 发布计划于 2026 年 1 月最后一周进行。

Deadline Week

在发布的最后几周有多个截止日期/冻结期,请参阅发布时间表以获取确切日期。

最终 2026.1 (集成) 发布

Ironic 项目的最终发布必须在 2026 年 3 月 26 日之前完成。