2025.2 Work Items from PTG

Notes about work items discussed at the PTG and expected to be worked on
during the Flamingo cycle.

Change-Id: Ic0c8cbb0b8deeeab8fc4a188a6d8a5346f7a9d0a
This commit is contained in:
Jay Faulkner
2025-04-15 08:35:00 -07:00
parent 032c97364b
commit 146a6e9c7e
2 changed files with 193 additions and 0 deletions
+1
View File
@@ -15,6 +15,7 @@ those discussions:
:glob:
:maxdepth: 1
priorities/2025-2-workitems
priorities/2025-1-workitems
priorities/2024-2-workitems
priorities/2024-1-workitems
+192
View File
@@ -0,0 +1,192 @@
.. _2025-2-work-items:
=========================
2025.2 Project Work Items
=========================
The latest virtual Project Team Gathering happened in April 2025. Ironic
developers and operators discussed many different potential features and
other ongoing work for the 2025.2 (Flamingo) release. These discussions are
memorialized in this document, providing a list of the main priorities for
the next development cycle. For more information please look at the link for
each topic or contact the Ironic team on IRC.
Ironic contributors are busy; they work spanning multiple open source projects,
and have varied downstream responsibilities. We cannot guarantee any or all
planned work will be completed, nor is this a comprehensive list of
everything Ironic may do in the next six months.
A few work items from past cycles have been dropped from this list without
being completed. These items include kea DHCP backend implementation, in-band
disk encryption, and tinycore ramdisk replacement. These are still valid
features we hope will be implemented, but we do not have confidence we can
commit time to these items during this cycle.
Each item in the table includes:
- Name of the work item, linked to the description
- Category can be...
- Maintenance: work that must be performed to keep Ironic working
- Bugfix: work to enhance existing code to cover more corner cases and
resolve bugs
- Feature: a new Ironic feature that did not previously exist
- Champions are the people most familiar with the technologies involved,
and are a good resource if you'd like to implement the work item.
- Tracking link is a link to the bug (usually) tracking the work.
.. list-table:: 2025.2 Work Items
:widths: 50 20 20 10
:header-rows: 1
* - Name
- Category
- Tracking
- Champions
* - `Eventlet Migration`_
- Maintenance
- https://wiki.openstack.org/wiki/Eventlet-removal
- dtantsur, JayF
* - `Networking: Scheduling and dynamic portgroups`_
- Feature
- https://review.opendev.org/c/openstack/ironic-specs/+/945642
- JayF, TheJulia
* - `Networking: Project Mercury`_
- Feature
- `Mailing list thread about new working group <https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/S4OZH7PC3NAZC2HXBGAQ7YSJUOPFKBW3/#WS5VO2PIXW42N3LQ2A6UD3WQU5YVZ56X>`_
- BM Networking WG
* - `Improve OEM handling in Sushy`_
- Maintenance/Feature
- `Sushy to include OEM support <https://bugs.launchpad.net/ironic/+bug/2086725>`_
- cardoe, dtantsur
* - `API response schema validation, OpenAPI Spec`_
- Maintenance
- `Add OpenAPI support for Ironic via codegenerator <https://launchpad.net/bugs/2086121>`_
- stephenfin, adammcarthur5
* - `Redfish-based servicing improvements`_
- Feature
- N/A
- iurygregory, janders, dtantsur
* - `Document steps used in Node History`_
- Feature
- `[RFE] Log steps performed in step-based flows (cleaning/deploying/servicing) <https://bugs.launchpad.net/ironic/+bug/2106758>`_
- TheJulia, JayF, cardoe
Goals Details
=============
Eventlet Migration
------------------
All of OpenStack, including Ironic, was written against a greenthreading event
loop library called eventlet. This package is slowly losing relevancy in modern
python and must be replaced. Support in oslo libraries for Eventlet will be
removed in 2026.2 -- if we haven't retired eventlet by then, we'll no longer
be able to run.
Networking: Scheduling and dynamic portgroups
---------------------------------------------
Ironic currently supports portgroups, combinations of ports bonded together
for increased network performance. However, these portgroups are modeled in
a similar, static way to physical hardware, when technically they can be
dynamically configured. This cycle, Ironic wants to add the ability to direct
scheduling of networks to ports and portgroups, including the ability to
assemble portgroups dynamically based on Ironic configuration and requested
traits.
Networking: Project Mercury
---------------------------
Networking represents the next step for a truly standalone Ironic, and this
means finding alternatives to Openstack-integrated scenarios and therefore
to Neutron.
For complete usage in an enterprise use case, Ironic needs a means of
networking control, which today is manual unless in a fully integrated
OpenStack context. The Ironic team and interested operators have formed a
working group around this and other networking improvements that can be
made in Ironic as we refine our design for standalone networking.
Additional discussion occurred about this vision at the 2025.2 PTG, and
ensuring additional network functionality proposed this cycle is
compatible with this vision. There are no specific actions beyond further
design discussion in the working group planned for this cycle.
Improve OEM handling in Sushy
-----------------------------
Currently, sushy has minimal support for OEM specific code. In Epoxy cycle,
we integrated ``sushy-oem-drac``, directly into the ``sushy`` project,
beginning down a path of adopting OEM logic directly into ``sushy``,
simplifying our codebase and making it easier to support quirky vendor
implementations of Redfish and potentially enabling utilization of OEM
extensions. We intend on further enhancing the ability for Sushy to adjust
behavior based on vendor and be able to query custom OEM redfish endpoints.
API response schema validation, OpenAPI Spec
--------------------------------------------
The Ironic team is joining an effort by the OpenStack SDK team to generate
OpenAPI specification documents from API code. This will ensure our
API documentation will match the code by generating it from the code.
As part of this work, the Ironic team will be refactoring handling of
API microversions to help with the generation process and improve code
readability.
In the Epoxy cycle, the Ironic team focused on implementing additional
API validation tests to allow this change to be less risky. We hope to
complete that work and begin merging more patches related to this
change in Flamingo.
Redfish-based servicing improvements
------------------------------------
In the past cycles, we have introduced an ability for out-of-band servicing of
bare-metal nodes via Redfish. We want to continue further developing this
feature.
The planned improvements involve supporting NIC firmware updates via
SimpleUpdate and improving the downtime this feature causes by cutting down
on the number of reboots.
Document steps used in node history
-----------------------------------
Ironic has had operators requesting the ability to predict what steps may
run on a node during the next automated flow. This is extremely difficult to
do just-in-time due to the dynamic nature of IPA-based-steps.
Instead, we are going to document what steps *have run* as part of a
step-based process. We will provide an option to send events to Node History
when a step-based process begins or succeeds. These events will include the
steps to be run in that process (when beginning) or the steps actually run in
the process (when successful).
Release Schedule
================
Contributors are reminded of our scheduled releases when they are choosing
items to work on.
The dates below are a guide; please view
https://releases.openstack.org/flamingo/schedule.html for the full schedule
relating to the release and
https://docs.openstack.org/ironic/latest/contributor/releasing.html for Ironic
specific release information.
Bugfix Release 1
----------------
The first bugfix release is scheduled to happen around the first week of
May, 2025.
Bugfix release 2
----------------
The second bugfix release is scheduled to happen the first week of August,
2025.
Deadline Week
-------------
There are multiple deadlines/freezes in the final weeks of the release,
please refer to the release schedule for exact dates.
Final 2025.2 (Integrated) Release
---------------------------------
The final releases for Ironic projects in 2025.2 must be cut by
September 26, 2025.