Skip to content

Propagate inspection interface annotation to Ironic CR using ServiceDefaults - #2112

Merged
karelyatin merged 1 commit into
openstack-k8s-operators:mainfrom
steveb:propagate-inspect-interface-annotation-to-ironic
Sep 25, 2026
Merged

karelyatin merged 1 commit into
openstack-k8s-operators:mainfrom
steveb:propagate-inspect-interface-annotation-to-ironic

Conversation

@steveb

@steveb steveb commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

The latest version of ironic removes inspector as the separate service to run introspection and uses IronicPythonAgent instead. This PR adds the IronicInspectInterface field to ServiceDefaults so that openstack-operator can tell ironic-operator which interface to use per deployment so as to maintain backwards compatibility with deployments that require inspector.

Jira: OSPRH-37063

Authored-by: mumesan mumesan@redhat.com

…efaults

Authored-by: mumesan <mumesan@redhat.com>
@openshift-ci
openshift-ci Bot requested review from dprince and rabi September 25, 2026 01:59
@github-actions

Copy link
Copy Markdown

OpenStackControlPlane CRD Size Report

Metric Value
CRD JSON size 338373 bytes (330KB)
Base branch size 338495 bytes
Change -0.04%
Status yellow — growing
Threshold reference
Color Range Meaning
🟢 green < 300KB Comfortable
🟡 yellow 300–400KB Growing
🟠 orange 400–750KB Concerning
🔴 red > 750KB Approaching 1.5MB etcd limit (cut in half to allow space for update)

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Advanced

Run ID: 688e1e47-8cb9-47cf-b87c-d62859ba9c4f

📥 Commits

Reviewing files that changed from the base of the PR and between d1caef4 and 62784e6.

📒 Files selected for processing (8)
  • api/bases/core.openstack.org_openstackversions.yaml
  • api/core/v1beta1/openstackversion_types.go
  • api/core/v1beta1/zz_generated.deepcopy.go
  • bindata/crds/crds.yaml
  • config/crd/bases/core.openstack.org_openstackversions.yaml
  • internal/controller/core/openstackversion_controller.go
  • internal/openstack/ironic.go
  • internal/openstack/version.go

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Summary

Summary by CodeRabbit

  • New Features
    • Added support for configuring Ironic’s inspection interface through OpenStack version service defaults.
    • The inspection interface defaults to inspector and is applied to Ironic when configured.

Walkthrough

The OpenStackVersion service defaults now include an Ironic inspection interface, with "inspector" as the initialized default. Ironic reconciliation writes a non-empty configured value to the Ironic inspect-interface annotation.

Changes

Ironic inspection interface

Layer / File(s) Summary
Service-default API contract
api/core/v1beta1/openstackversion_types.go, api/core/v1beta1/zz_generated.deepcopy.go, api/bases/core.openstack.org_openstackversions.yaml, config/crd/bases/core.openstack.org_openstackversions.yaml, bindata/crds/crds.yaml
ServiceDefaults and its deep-copy method now include IronicInspectInterface. The CRD schemas expose ironicInspectInterface under both available and current service defaults.
Default and Ironic reconciliation
internal/openstack/version.go, internal/controller/core/openstackversion_controller.go, internal/openstack/ironic.go
Initialization sets the default to "inspector". Reconciliation writes a non-empty value to the Ironic inspect-interface annotation. A controller comment now refers to defaults for each available version; the assignment remains unchanged.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: stuggi

Merge Risk: ⚪ Minimal · up to 62784

The supported RHOSO 19 release uses the documented inspector interface, and no material merge blocker is established.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: propagating the inspection interface annotation to the Ironic CR through ServiceDefaults.
Description check ✅ Passed The description explains the new IronicInspectInterface field and its purpose for maintaining compatibility with deployments that require inspector.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 5 files. (3 skipped: 3 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@karelyatin karelyatin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Comment thread internal/controller/core/openstackversion_controller.go
Comment thread internal/openstack/version.go
@openshift-ci

openshift-ci Bot commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: karelyatin, steveb
Once this PR has been reviewed and has the lgtm label, please assign rebtoor for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/5f2cb1e0fa064882b54c8f06685d156a

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 27m 22s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 24m 30s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 28m 26s
❌ adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 13m 27s
✔️ openstack-operator-tempest-multinode SUCCESS in 1h 37m 00s
✔️ openstack-operator-edpm-baremetal-minor-update SUCCESS in 1h 58m 50s

@karelyatin

Copy link
Copy Markdown
Contributor

/override rdoproject.org/github-check
post failure in adoption job, older closed PR 2087 has all green
lets merge to unblock other PR

@openshift-ci

openshift-ci Bot commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

@karelyatin: karelyatin unauthorized: /override is restricted to Repo administrators, approvers in top level OWNERS file, and the following github teams:.

Details

In response to this:

/override rdoproject.org/github-check
post failure in adoption job, older closed PR 2087 has all green
lets merge to unblock other PR

Instructions 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.

@karelyatin
karelyatin merged commit 58a1de8 into openstack-k8s-operators:main Sep 25, 2026
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants