NO-ISSUE: On-board osac bare-metal-fulfillment-operator#80425
NO-ISSUE: On-board osac bare-metal-fulfillment-operator#80425adriengentil wants to merge 6 commits into
Conversation
|
@adriengentil: This pull request explicitly references no jira issue. DetailsIn response to this: 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 openshift-eng/jira-lifecycle-plugin repository. |
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughAdds CI and automation configuration for the ChangesOSAC bare-metal-fulfillment-operator project onboarding
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/pj-rehearse |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yaml`:
- Around line 1-32: This config lacks a top-level tests: block so add presubmit,
postsubmit and periodic CI workflows that wire existing step-registry templates
for KUTTL/e2e and scorecard tests: create a tests: section referencing the built
image name bare-metal-fulfillment-operator and use the step-registry entries
under ci-operator/step-registry/openstack-k8s-operators/kuttl/ for KUTTL jobs
and the optional-operators/*/scorecard/ templates for scorecard runs; ensure
entries include job type (presubmit/postsubmit/periodic), appropriate from:
imageStreamTag or from: inputImage referencing the image stream tag defined
under images -> to: bare-metal-fulfillment-operator, and reuse resource/timeout
conventions from other operator configs so the jobs run on merge and on a
nightly periodic.
- Around line 12-13: The promotion is incorrectly excluding the image that
images.items[].to targets (bare-metal-fulfillment-operator), so the built image
will never be promoted; update promotion.to[].excluded_images to remove
"bare-metal-fulfillment-operator" (only exclude PR-only images or the dummy
component-image as in other OSAC configs) so the built image is eligible for
promotion and keep any PR-only or component-image entries instead.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 59fa2ec7-71ef-4565-9dcf-f65864f3d363
⛔ Files ignored due to path filters (2)
ci-operator/jobs/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main-postsubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (3)
ci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yamlcore-services/prow/02_config/osac-project/bare-metal-fulfillment-operator/_pluginconfig.yamlcore-services/prow/02_config/osac-project/bare-metal-fulfillment-operator/_prowconfig.yaml
|
/pj-rehearse |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse |
|
/retest |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
ci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yaml (1)
1-27: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winAdd CI tests for operator validation.
This config builds the operator image but defines no
tests:section, so there are no presubmit, postsubmit, or periodic CI validations. For operator onboarding, you should wire existing step-registry test workflows.Consider adding:
- Unit/KUTTL tests (see
ci-operator/step-registry/openstack-k8s-operators/kuttl/)- Scorecard tests (see
ci-operator/step-registry/optional-operators/*/scorecard/)- E2E workflows
Example structure:
tests: - as: unit commands: make test container: from: src - as: e2e-operator steps: cluster_profile: aws test: - as: test cli: latest commands: make test-e2e from: src resources: requests: cpu: 100m memory: 200Mi workflow: ipi-awsWould you like me to help identify specific test workflows from the step-registry that would be appropriate for this operator?
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@ci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yaml` around lines 1 - 27, The manifest is missing a tests: section so no CI validations run; add a top-level tests: array that wires appropriate step-registry workflows for this operator (e.g., add a unit entry that runs "make test" in the src container, a KUTTL/functional entry referencing the kuttl step-registry tests, a scorecard entry using the operator scorecard steps, and an e2e/operator entry that selects a cluster_profile (aws or ipi-aws) and runs the operator e2e make target), ensuring each test item uses the keys shown in the example (as:, container/from, commands, steps/cluster_profile, workflow) and refers to the src image named in images->items->to (bare-metal-fulfillment-operator) so CI will pick up the correct image.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yaml`:
- Line 10: The promotion block is currently an empty mapping ("promotion: {}")
which disables image promotion; change the promotion configuration to match
other osac-project main configs by setting a proper to: list (e.g., include an
entry with name: latest and namespace: osac-project) so images are promoted to
the osac-project namespace; update the promotion key in the manifest (replace
promotion: {} with a promotion block that defines to: - name: latest namespace:
osac-project) and ensure the YAML structure matches other configs (use the same
fields and indentation as the other osac-project/*-main.yaml files).
---
Outside diff comments:
In
`@ci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yaml`:
- Around line 1-27: The manifest is missing a tests: section so no CI
validations run; add a top-level tests: array that wires appropriate
step-registry workflows for this operator (e.g., add a unit entry that runs
"make test" in the src container, a KUTTL/functional entry referencing the kuttl
step-registry tests, a scorecard entry using the operator scorecard steps, and
an e2e/operator entry that selects a cluster_profile (aws or ipi-aws) and runs
the operator e2e make target), ensuring each test item uses the keys shown in
the example (as:, container/from, commands, steps/cluster_profile, workflow) and
refers to the src image named in images->items->to
(bare-metal-fulfillment-operator) so CI will pick up the correct image.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: eba4ba55-1288-4bbd-9385-de2bf9f48f87
📒 Files selected for processing (3)
ci-operator/config/osac-project/bare-metal-fulfillment-operator/OWNERSci-operator/config/osac-project/bare-metal-fulfillment-operator/osac-project-bare-metal-fulfillment-operator-main.yamlcore-services/prow/02_config/osac-project/bare-metal-fulfillment-operator/OWNERS
✅ Files skipped from review due to trivial changes (2)
- core-services/prow/02_config/osac-project/bare-metal-fulfillment-operator/OWNERS
- ci-operator/config/osac-project/bare-metal-fulfillment-operator/OWNERS
|
/pj-rehearse |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehease |
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse pull-ci-osac-project-bare-metal-fulfillment-operator-main-images |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/test check-gh-automation |
|
/pj-rehearse pull-ci-osac-project-bare-metal-fulfillment-operator-main-images |
|
@adriengentil: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@adriengentil: 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. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adriengentil, danilo-gemoli The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Summary by CodeRabbit
This PR onboards the osac-project/bare-metal-fulfillment-operator into OpenShift CI by adding ci-operator config, Prow configuration, and OWNERS metadata so the operator can be built, validated, and participate in automated workflows.
Practical effects:
Net result: the repository is integrated into OpenShift’s CI/Prow systems for automated build, testing, and merge workflows, with ownership and plugin behavior configured.