setup assisted-installer version v2.55 - #82412
Conversation
WalkthroughAdds four generated OpenShift CI Operator configurations for v2.55, covering pinned component images, builds, promotion and release metadata, standard validation jobs, and extensive assisted installation and service end-to-end workflows. ChangesAssisted v2.55 CI pipeline
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: danmanor 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 |
|
[REHEARSALNOTIFIER]
A total of 53 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
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/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yaml`:
- Around line 116-130: Both packet-assisted jobs lack the required intranet
capability. In
ci-operator/config/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yaml:116-130,
add capabilities: - intranet to e2e-metal-assisted-day2-arm-workers; also add
the same capability to e2e-metal-assisted-tna in
ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml:302-315.
In
`@ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml`:
- Around line 190-207: Remove the always_run field from the
e2e-metal-assisted-lvm job definition, leaving its run_if_changed expression and
remaining configuration unchanged.
🪄 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: e7f677cd-dfed-4084-bfad-0abeda8344ac
⛔ Files ignored due to path filters (8)
ci-operator/jobs/openshift/assisted-image-service/openshift-assisted-image-service-v2.55-postsubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-image-service/openshift-assisted-image-service-v2.55-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-installer-agent/openshift-assisted-installer-agent-v2.55-postsubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-installer-agent/openshift-assisted-installer-agent-v2.55-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-installer/openshift-assisted-installer-v2.55-postsubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-installer/openshift-assisted-installer-v2.55-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-v2.55-postsubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-v2.55-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (4)
ci-operator/config/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yamlci-operator/config/openshift/assisted-installer-agent/openshift-assisted-installer-agent-v2.55.yamlci-operator/config/openshift/assisted-installer/openshift-assisted-installer-v2.55.yamlci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml
| - always_run: false | ||
| as: e2e-metal-assisted-day2-arm-workers | ||
| optional: true | ||
| steps: | ||
| cluster_profile: packet-assisted | ||
| env: | ||
| ASSISTED_CONFIG: | | ||
| SERVICE_BASE_REF=v2.55 | ||
| TEST_FUNC=test_deploy_day2_nodes_cloud | ||
| AGENT_DOCKER_IMAGE=quay.io/redhat-user-workloads/assisted-installer-tenant/assisted-installer-application-ds-main/assisted-installer-agent-ds-main:latest | ||
| CONTROLLER_IMAGE=quay.io/redhat-user-workloads/assisted-installer-tenant/assisted-installer-application-ds-main/assisted-installer-controller-ds-main:latest | ||
| INSTALLER_IMAGE=quay.io/redhat-user-workloads/assisted-installer-tenant/assisted-installer-application-ds-main/assisted-installer-ds-main:latest | ||
| DAY2_CPU_ARCHITECTURE=arm64 | ||
| OPENSHIFT_VERSION=5.0-multi | ||
| workflow: assisted-ofcir-baremetal-heterogeneous |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Two packet-assisted jobs missing capabilities: [intranet]. Both jobs use cluster_profile: packet-assisted, which every other job with that cluster profile in their respective files pairs with capabilities: - intranet; these two are the lone exceptions.
ci-operator/config/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yaml#L116-L130: addcapabilities: - intranettoe2e-metal-assisted-day2-arm-workers.ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml#L302-L315: addcapabilities: - intranettoe2e-metal-assisted-tna.
📍 Affects 2 files
ci-operator/config/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yaml#L116-L130(this comment)ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml#L302-L315
🤖 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/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yaml`
around lines 116 - 130, Both packet-assisted jobs lack the required intranet
capability. In
ci-operator/config/openshift/assisted-image-service/openshift-assisted-image-service-v2.55.yaml:116-130,
add capabilities: - intranet to e2e-metal-assisted-day2-arm-workers; also add
the same capability to e2e-metal-assisted-tna in
ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml:302-315.
| - always_run: true | ||
| as: e2e-metal-assisted-lvm | ||
| capabilities: | ||
| - intranet | ||
| run_if_changed: ^(internal/operators/[^/]+\.go|internal/operators/lvm/.*|internal/operators/api/.*|internal/operators/handler/.*)$ | ||
| steps: | ||
| cluster_profile: packet-assisted | ||
| env: | ||
| ASSISTED_CONFIG: | | ||
| SERVICE_BASE_REF=v2.55 | ||
| OLM_OPERATORS=lvm | ||
| MASTER_MEMORY=25600 | ||
| NUM_MASTERS=3 | ||
| NUM_WORKERS=0 | ||
| MASTER_CPU=9 | ||
| MASTER_DISK_COUNT=2 | ||
| OPENSHIFT_VERSION=5.0 | ||
| workflow: assisted-ofcir-baremetal |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== target file slice =="
nl -ba ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml | sed -n '170,220p'
echo
echo "== sibling jobs in same file =="
rg -n "always_run:|run_if_changed:|as: e2e-metal-assisted-(lvm|osc|virtualization|openshift-ai)" ci-operator/config/openshift/assisted-service/openshift-assisted-service-v2.55.yaml
echo
echo "== other occurrences of always_run + run_if_changed together in ci-operator/config =="
python3 - <<'PY'
from pathlib import Path
import re
root = Path("ci-operator/config")
for path in root.rglob("*.y*ml"):
txt = path.read_text()
if "always_run:" in txt and "run_if_changed:" in txt:
# print files where both appear, with a small hint around first occurrence
print(path)
PYRepository: openshift/release
Length of output: 219
🌐 Web query:
Prow presubmit always_run run_if_changed semantics mutually exclusive
💡 Result:
In Prow, the fields always_run and run_if_changed (as well as skip_if_only_changed) have specific, mutually exclusive semantics when configured for a presubmit job [1][2][3]. The mutual exclusivity is enforced as follows: 1. If always_run is set to true, the job will run unconditionally for every pull request [1][2]. Because the job is already configured to run every time, it is incompatible with conditional triggers like run_if_changed or skip_if_only_changed; attempting to define them together results in a configuration error [3]. 2. If always_run is set to false (or omitted), the job can be configured to run conditionally [1][2]. In this state, you can use run_if_changed or skip_if_only_changed to define the conditions under which the job should automatically trigger [1][2]. 3. It is important to note that run_if_changed and skip_if_only_changed themselves are also mutually exclusive with each other in many versions of Prow, as enforced by validation logic in the system (e.g., in pkg/config/config.go) [4][3]. In summary, you cannot combine an unconditional execution requirement (always_run: true) with conditional file-based triggers (run_if_changed). If you need a job to run automatically, you must choose between running it on every PR (always_run: true) or running it only when specific files are modified (run_if_changed) [1][2]. If neither is configured, the job will not run automatically and will instead require manual triggering via a comment in the PR [1][5].
Citations:
- 1: https://docs.prow.k8s.io/docs/jobs/
- 2: https://github.com/kubernetes-sigs/prow/blob/main/site/content/en/docs/jobs.md
- 3: https://docs.prow.k8s.io/docs/announcements/
- 4: Enhancement: Allow combining
run_if_changedandskip_if_only_changedfor more flexible job triggering kubernetes-sigs/prow#502 - 5: https://github.com/nephio-project/nephio-test-prow-project
Drop always_run: true here. run_if_changed already makes this job path-gated, and Prow treats the two fields as incompatible on presubmits; the sibling operator jobs in this file use run_if_changed alone.
🤖 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/openshift/assisted-service/openshift-assisted-service-v2.55.yaml`
around lines 190 - 207, Remove the always_run field from the
e2e-metal-assisted-lvm job definition, leaving its run_if_changed expression and
remaining configuration unchanged.
|
@danmanor: 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. |
1 similar comment
|
@danmanor: 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. |
|
Closing as duplicate of #82441 |
Summary by CodeRabbit
Adds OpenShift CI configurations for the Assisted Installer v2.55 release across:
assisted-installerassisted-installer-agentassisted-image-serviceassisted-serviceThe configurations pin v2.55 component images, define builds and promotion to
edge-infrastructure, target OCP 5.0 nightly releases, standardize resource requests, and enable lint, unit, generated-code, subsystem, and broad platform-specific end-to-end test coverage.