2025.2 项目工作项

最新的虚拟项目团队会议发生在 2025 年 4 月。Ironic 开发人员和运维人员讨论了许多不同的潜在特性以及 2025.2 (Flamingo) 版本的其他正在进行的工作。这些讨论记录在此文档中,提供了下一个开发周期的主要优先级列表。有关更多信息,请查看每个主题的链接或通过 IRC 联系 Ironic 团队。

Ironic 贡献者很忙碌,他们的工作涉及多个开源项目,并且具有不同的下游责任。我们无法保证任何或全部计划中的工作都能完成,这也不是 Ironic 在未来六个月内可能执行的所有工作的完整列表。

一些来自过去周期的工作项已被从列表中删除,但尚未完成。这些项目包括 kea DHCP 后端实现、带内磁盘加密和 tinycore ramdisk 替换。这些仍然是有效的特性,我们希望将来能够实现,但我们不确定在此周期内是否有时间来处理这些项目。

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

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

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

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

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

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

2025.2 工作项

名称

类别

跟踪

Champions

Eventlet 迁移

维护

https://wiki.openstack.org/wiki/Eventlet-removal

dtantsur, JayF

网络:调度和动态端口组

Feature

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

JayF, TheJulia

网络:Project Mercury

Feature

关于新的工作组的邮件列表讨论

BM Networking WG

改进 Sushy 中的 OEM 处理

维护/特性

Sushy 包含 OEM 支持

cardoe, dtantsur

API 响应模式验证,OpenAPI 规范

维护

通过 codegenerator 为 Ironic 添加 OpenAPI 支持

stephenfin, adammcarthur5

基于 Redfish 的服务改进

Feature

N/A

iurygregory, janders, dtantsur

记录节点历史记录中使用的步骤

Feature

[RFE] 记录基于步骤流程(清理/部署/服务)中执行的步骤

TheJulia, JayF, cardoe

目标详情

Eventlet 迁移

包括 Ironic 在内的整个 OpenStack 都是针对名为 eventlet 的基于绿线程事件循环库编写的。这个包在现代 python 中逐渐失去相关性,必须进行替换。oslo 库对 Eventlet 的支持将在 2026.2 中移除——如果我们到那时还没有淘汰 eventlet,我们将无法运行。

网络:调度和动态端口组

Ironic 当前支持端口组,即组合在一起以提高网络性能的端口。但是,这些端口组的建模方式与物理硬件类似,静态化,而从技术上讲,它们可以动态配置。在此周期中,Ironic 希望添加将网络直接调度到端口和端口组的能力,包括根据 Ironic 配置和请求的特性动态组装端口组的能力。

网络:Project Mercury

网络代表着一个真正独立的 Ironic 的下一步,这意味着找到 OpenStack 集成场景的替代方案,因此也包括 Neutron。

为了在企业用例中完全使用,Ironic 需要一种网络控制手段,而今天,除非在完全集成的 OpenStack 环境中,否则只能手动控制。Ironic 团队和感兴趣的运维人员围绕此以及可以对 Ironic 进行的其他网络改进组建了一个工作组,以便我们在完善独立网络设计时进行改进。

在 2025.2 PTG 上对这一愿景进行了进一步讨论,并确保本周期提出的其他网络功能与这一愿景兼容。本周期计划的特定行动除了工作组中的进一步设计讨论之外,没有其他行动。

改进 Sushy 中的 OEM 处理

目前,sushy 对 OEM 特定代码的支持非常有限。在 Epoxy 周期中,我们将 sushy-oem-drac 直接集成到 sushy 项目中,开始采用将 OEM 逻辑直接集成到 sushy 中,简化我们的代码库,并更容易支持 Redfish 和潜在的 OEM 扩展的古怪的厂商实现。

API 响应模式验证,OpenAPI 规范

Ironic 团队正在加入 OpenStack SDK 团队的努力,以从 API 代码生成 OpenAPI 规范文档。这将确保我们的 API 文档与代码匹配,通过从代码生成文档来实现。作为这项工作的一部分,Ironic 团队将重构 API 微版本的处理方式,以帮助生成过程并提高代码可读性。

在 Epoxy 周期中,Ironic 团队专注于实现额外的 API 验证测试,以使此更改风险更小。我们希望完成这项工作并在 Flamingo 中开始合并更多相关的补丁。

基于 Redfish 的服务改进

在过去的周期中,我们引入了通过 Redfish 对裸机节点进行带外服务的可能性。我们希望继续进一步开发此功能。

计划的改进包括通过 SimpleUpdate 支持 NIC 固件更新,并通过减少重启次数来改善此功能导致的中断时间。

记录节点历史记录中使用的步骤

Ironic 收到了一些运营商的要求,希望能够预测在下一个自动化流程中节点上可能运行的步骤。由于 IPA-based-steps 的动态特性,这很难及时完成。

相反,我们将记录作为基于步骤流程的一部分已经运行的步骤。我们将提供一个选项,以便在基于步骤的流程开始或成功时将事件发送到节点历史记录。这些事件将包括该流程中要运行的步骤(开始时)或该流程中实际运行的步骤(成功时)。

发布计划

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

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

Bugfix Release 1

第一个 bugfix 版本计划于 2025 年 5 月的第一周发布。

Bugfix release 2

第二个 bugfix 版本计划于 2025 年 8 月的第一周发布。

Deadline Week

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

最终 2025.2 (集成) 版本

Ironic 项目的最终版本必须在 2025 年 9 月 26 日之前完成。