Merge https://github.com/openstack/ironic:master (ef253eb) into main#391
Merge https://github.com/openstack/ironic:master (ef253eb) into main#391ironic-merge-bot[bot] wants to merge 39 commits intoopenshift:mainfrom
Conversation
A follow-up to 956500 (periodic cleanup of stale conductors - offline for longer than a configured timeout period.) New review feedback identified that the original patch never NULLs `conductor_affinity`, so deleting a conductor will fail with an FK constraint violation. Unit tests were added by AI. Assisted-by: Claude Opus 4.6 Change-Id: Ie557c6ec0f96d013d182f9c85e8f41cac4cbd8af Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: ironic-merge-bot[bot] The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
The IRONIC_RAMDISK_TYPE setting allowed users to choose between 'tinyipa' and 'dib' ramdisk types. With tinyipa support dropped, this setting is no longer needed. DIB is now the only ramdisk type and is used by default. This change removes: - IRONIC_RAMDISK_TYPE variable and validation - tinyipa-specific build functions (build_tinyipa_ramdisk, rebuild_tinyipa_for_ansible) - is_ansible_with_tinyipa helper function - tinyipa references from documentation and CI configuration Assisted-By: Claude Code - Claude Sonnet 4.5 Change-Id: Ic7222888a6ed8e8353ca20a5a5b1aa1c6a948b53 Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
As early as 2024 we've been warning operators the iLO driver was going away, and it was formally deprecated in 2025.2. We now remove it fully. iLO 5 and newer devices are still supported by redfish driver. Generated-by: claude-code Change-Id: Iccc45da6eb3b8109009e3217028cc07f5782dde0 Signed-off-by: Jay Faulkner <jay@jvf.cc>
When using devstack if the test node already has its port plugged in, first clean it up and then re-plug the port to make the process more idempotent. Change-Id: I61a2ae6930b419f33f2763d2cf24f1fde7329032 Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
In other places we look up the qrouter and only reference that specific one but in this place we touched all qrouters. Change the behavior to match the other call sites to avoid issues with multiple ./stack.sh calls in devstack. Change-Id: I33e2026cf3cad0077e8075c258eae4f7af01fc86 Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
In cases when the machine has already had devstack on it, this route might exist because it is not cleaned up. Change the ip route call to use replace to be an idempotent call like other callers in the script. Change-Id: Ic0d788abe93412f2d81f438d4606dcd8fb59ed41 Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
The driver was removed nearly a decade ago [1]. [1] I9bc9f4cbd916f040a636b967ec5556197ad3d8a8 Change-Id: I6735b5cf8bed2012903d58d006dc731ad205d107 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit enables project-scoped sidebar search in Ironic docs using the existing openstackdocstheme option (sidebar_search=True). It allows users to search within Ironic documentation directly, and improves the search experience when navigating from Ironic pages. It also refines a few top-level headings to make Ironic content easier to identify in broader search contexts. Closes-Bug: #2072362 Change-Id: Iaf42d58e63c2f3fc62c1eac72814360972bbe29e Signed-off-by: Anishere Mariam Adeola <maradeola4me@gmail.com>
9418b54 to
34ed3b0
Compare
Today runbooks must be named after a trait that exists on the node in
order to be used. This change decouples the runbook name from the trait
matching logic by introducing a dedicated traits set on each runbook.
Changes:
- Add a new runbook_traits table (runbook_id, trait composite PK)
mirroring the node_traits design, with a DB migration that seeds
each existing runbook's traits from its current name.
- Add a description column to the runbooks table, consistent with
other Ironic objects.
- Bump Runbook versioned object to 1.2 (description + traits fields).
Add RunbookTrait (1.0) and RunbookTraitList (1.0) objects.
- Introduce API microversion v1.112:
- Runbook name may now be any valid logical string; the CUSTOM_/
standard-trait format restriction is lifted.
- traits list included in runbook create/get/list responses.
- New sub-resource /v1/runbooks/{ident}/traits with GET, PUT, and
DELETE endpoints following the node traits pattern.
- PATCH /v1/runbooks does not patch traits; use the sub-resource.
- Update _handle_runbook in the node provision API: for v1.112+,
check that the node has at least one trait that intersects with the
runbook's traits set. For earlier versions the legacy name-equals-
trait check is preserved unchanged.
- Update the conductor automated-cleaning runbook validator to apply
the same intersection logic when runbook.traits is non-empty, and
fall back to the legacy name check otherwise.
Assisted-by: Claude Sonnet 4.6
Change-Id: Ifc21e37a257f4749170e2802324f868185cb1886
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
[1] broke ovn based jobs as there is no qrouter namespace when running with ovn. This patch makes the commands run only when agent is not OVN. [1] https://review.opendev.org/c/openstack/ironic/+/983715 Change-Id: I0042f918a12368e3b01298ec345ed435a58ad336 Signed-off-by: Yatin Karel <ykarel@redhat.com>
In general we should not upgrade the base image when building a container as the base image is already rebuilt regularly. Also setting the base image explicitely to one recommended by ART.
Adds the parent node support and tests in one change including all DB/Model/API changes along with RBAC and basic API tests. * Updates the API version to 1.83 * Adds parent_node and related index to the nodes table. * Adds new API parameters to list by parent node relationship. Depends-On: https://review.opendev.org/c/openstack/ironic/+/883967 Change-Id: I8d64fee7105718199986db4994e13352d639f04f
Change-Id: I22c8aae89d24d3ff330f10f1e0d43461fd6e52d4
We need to pin libraries that are still compatible with python 3.9 as upstream has already dropped compatibility.
(cherry picked from commit aa7dfab)
Back when we developed service, we expected operators to iterate to fix their issues, but we also put in abort code. We just never wired in the abort code to the abort verb. It really seems like we really should have done that, and this change changes API and Conductor code path to make this happen. Closes-Bug: 2119989 Assisted-By: Claude Clode - Claude Sonnet 4 Change-Id: Ic02ba87485a676e77563057427ab94953bea2cc2 Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com> (cherry picked from commit 1eda807)
Currently, Ironic codebase allows aborting servicing state regardless of whether a servicing step has abortable flag set or not. This patch fixes this by adding handling of service wait states to abort code paths and adding the missing state machine transition. Generated-By: Claude Code Sonnet 3.5 Change-Id: Ie07490bdb9c6461bd6ac7a6315773dcfb13592f9 Signed-off-by: Jacob Anders <janders@redhat.com> (cherry picked from commit fa8a8fb)
34ed3b0 to
1199152
Compare
|
@ironic-merge-bot[bot]: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
No description provided.