adding rhoe 4.22 jobs for operator-pipelines#77090
Conversation
|
/pj-rehearse periodic-ci-redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-preflight-preprod-claim periodic-ci-redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-preflight-prod-claim |
|
@acornett21: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse periodic-ci-redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-preflight-preprod-claim |
|
@acornett21: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/retest |
Signed-off-by: Adam D. Cornett <adc@redhat.com>
b533a8f to
cb98d83
Compare
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
WalkthroughFour new YAML configuration files are added to define CI/CD workflows for OCP 4.22 certified operators testing. These introduce release configurations, resource defaults, and yearly-scheduled preflight test jobs for both preprod and production environments with specific test pipeline steps and environment variables. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 10✅ Passed checks (10 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-preprod/redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-periodics.yaml`:
- Around line 50-52: The pod spec mounts a volume named "gcs-credentials"
(mountPath /secrets/gcs) but no corresponding volume is declared in the spec;
add a volumes entry named "gcs-credentials" under the pod spec's volumes section
that points to the proper secret (e.g., secret: { secretName: "gcs-credentials"
}) so the mount in the container (gcs-credentials) resolves at runtime; ensure
the volume name exactly matches "gcs-credentials" used in the mount and place it
alongside the other volumes in the job spec.
In
`@ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-periodics.yaml`:
- Around line 50-52: The PodSpec references a volumeMount named
"gcs-credentials" but no matching volume is declared, making the spec invalid;
add a volume under spec.template.spec.volumes (the same PodSpec used by the
ci-operator job) with name: gcs-credentials and point it to the correct Secret
(e.g., secret: { secretName: "gcs-credentials" } or the actual secret name used
in your cluster) so the volumeMount in volumeMounts can bind successfully and
keep the mount readOnly as intended.
🪄 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: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: eb752023-a817-4a72-ba5e-b92e31dbafc7
📒 Files selected for processing (4)
ci-operator/config/redhat-openshift-ecosystem/certified-operators-preprod/redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22.yamlci-operator/config/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22.yamlci-operator/jobs/redhat-openshift-ecosystem/certified-operators-preprod/redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-periodics.yamlci-operator/jobs/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-periodics.yaml
| - mountPath: /secrets/gcs | ||
| name: gcs-credentials | ||
| readOnly: true |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-preprod/redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-periodics.yaml"
python -m pip install --quiet pyyaml
python - <<'PY'
import sys, yaml, pathlib
file = pathlib.Path("ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-preprod/redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-periodics.yaml")
doc = yaml.safe_load(file.read_text())
job = doc["periodics"][0]
container = job["spec"]["containers"][0]
mounts = {m["name"] for m in container.get("volumeMounts", [])}
vols = {v["name"] for v in job["spec"].get("volumes", [])}
missing = sorted(mounts - vols)
print("volumeMount names:", sorted(mounts))
print("volume names:", sorted(vols))
if missing:
print("Missing volume definitions for:", missing)
sys.exit(1)
print("All volumeMount names are backed by declared volumes.")
PYRepository: openshift/release
Length of output: 414
Add missing gcs-credentials volume declaration.
The container mounts gcs-credentials at line 50–52, but no matching volume is declared in the spec. Kubernetes will reject this pod spec at validation time, preventing the job from running.
Add the volume to the volumes section:
Suggested fix
volumes:
- name: boskos
secret:
items:
- key: credentials
path: credentials
secretName: boskos-credentials
+ - name: gcs-credentials
+ secret:
+ secretName: gcs-credentials
- name: ci-pull-credentials
secret:
secretName: ci-pull-credentials🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-preprod/redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-periodics.yaml`
around lines 50 - 52, The pod spec mounts a volume named "gcs-credentials"
(mountPath /secrets/gcs) but no corresponding volume is declared in the spec;
add a volumes entry named "gcs-credentials" under the pod spec's volumes section
that points to the proper secret (e.g., secret: { secretName: "gcs-credentials"
}) so the mount in the container (gcs-credentials) resolves at runtime; ensure
the volume name exactly matches "gcs-credentials" used in the mount and place it
alongside the other volumes in the job spec.
| - mountPath: /secrets/gcs | ||
| name: gcs-credentials | ||
| readOnly: true |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-periodics.yaml"
python - <<'PY'
import pathlib, re, sys
p = pathlib.Path("ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-periodics.yaml")
lines = p.read_text().splitlines()
in_volume_mounts = False
in_volumes = False
mount_names = []
volume_names = []
for line in lines:
if re.match(r'^\s*volumeMounts:\s*$', line):
in_volume_mounts, in_volumes = True, False
continue
if re.match(r'^\s*volumes:\s*$', line):
in_volume_mounts, in_volumes = False, True
continue
m = re.match(r'^\s*-\s*name:\s*"?([^"\s]+)"?\s*$', line)
if m:
name = m.group(1)
if in_volume_mounts:
mount_names.append(name)
elif in_volumes:
volume_names.append(name)
missing = sorted(set(mount_names) - set(volume_names))
print("volumeMount names:", mount_names)
print("volume names:", volume_names)
print("missing volume definitions:", missing)
if missing:
sys.exit(1)
PYRepository: openshift/release
Length of output: 252
🏁 Script executed:
cat -n ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-periodics.yaml | sed -n '40,95p'Repository: openshift/release
Length of output: 1754
Missing gcs-credentials volume makes the PodSpec invalid.
Line 51 references name: gcs-credentials in volumeMounts, but no matching entry exists under spec.volumes (lines 66-87). The periodic will fail before ci-operator starts.
Suggested fix
volumes:
- name: boskos
secret:
items:
- key: credentials
path: credentials
secretName: boskos-credentials
+ - name: gcs-credentials
+ secret:
+ secretName: gcs-credentials
- name: ci-pull-credentials
secret:
secretName: ci-pull-credentials🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@ci-operator/jobs/redhat-openshift-ecosystem/certified-operators-prod/redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-periodics.yaml`
around lines 50 - 52, The PodSpec references a volumeMount named
"gcs-credentials" but no matching volume is declared, making the spec invalid;
add a volume under spec.template.spec.volumes (the same PodSpec used by the
ci-operator job) with name: gcs-credentials and point it to the correct Secret
(e.g., secret: { secretName: "gcs-credentials" } or the actual secret name used
in your cluster) so the volumeMount in volumeMounts can bind successfully and
keep the mount readOnly as intended.
|
/pj-rehearse periodic-ci-redhat-openshift-ecosystem-certified-operators-preprod-ocp-4.22-preflight-preprod-claim periodic-ci-redhat-openshift-ecosystem-certified-operators-prod-ocp-4.22-preflight-prod-claim |
|
@acornett21: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse ack |
|
@acornett21: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: acornett21, yashoza19 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 |
|
@acornett21: 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. |
Signed-off-by: Adam D. Cornett <adc@redhat.com>
Signed-off-by: Adam D. Cornett <adc@redhat.com>
Signed-off-by: Adam D. Cornett <adc@redhat.com>
Signed-off-by: Adam D. Cornett <adc@redhat.com>
Summary by CodeRabbit