[DNM] Sync Serverless CI config/serverless-operator.yaml#80071
Conversation
|
/hold |
WalkthroughThis PR introduces complete CI configuration for OpenShift Knative serverless-operator release 1.37, adding a new variant 420 pipeline with image builds and dual kitchensink upgrade tests, removing a duplicate test from variant 421, and updating LP interop test settings with compute node replicas and instance/mapping flags across AWS regions. ChangesRelease 1.37 CI Configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested labels
Suggested reviewers
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 warning)
✅ Passed checks (13 passed)
✨ 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 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: maschmid 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]
Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals. Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse |
|
@maschmid: 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
🤖 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-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml`:
- Around line 183-184: The post-step that runs openshift-gather-extra currently
downloads and executes the remote script via "curl -skSL ... | /bin/bash -s";
update the post step(s) named openshift-gather-extra to use the in-repo
step-registry reference instead (replace the curl+pipe command with a step entry
"ref: gather-extra" and ensure "from: serverless-source-image" matches), or
alternatively change the curl invocation to a pinned immutable commit URL and
remove the "-k" flag; locate the command strings in the YAML (the commands block
under openshift-gather-extra) and replace accordingly.
🪄 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: d8df9f0f-4ab7-4166-a1a2-41c788ec3d5a
⛔ Files ignored due to path filters (2)
ci-operator/jobs/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37-periodics.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (3)
ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yamlci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__421.yamlci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__ocp-4.22-lp-interop.yaml
💤 Files with no reviewable changes (1)
- ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__421.yaml
| commands: curl -skSL https://raw.githubusercontent.com/openshift/release/main/ci-operator/step-registry/gather/extra/gather-extra-commands.sh | ||
| | /bin/bash -s |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify current remote-script execution usage and discover in-repo gather-extra step alternatives.
# 1) Locate all mutable remote curl|bash usages in ci-operator configs
rg -n -C2 'curl -skSL https://raw.githubusercontent.com/openshift/release/main/ci-operator/step-registry/gather/extra/gather-extra-commands\.sh\s*\|\s*/bin/bash -s' ci-operator/config
# 2) Find gather-extra step-registry definitions that can replace remote execution
fd -i 'gather-extra*.yaml' ci-operator/step-registry
# 3) Show references to gather-extra command assets in step-registry
rg -n -C2 'gather-extra-commands\.sh|as:\s*gather-extra' ci-operator/step-registryRepository: openshift/release
Length of output: 3849
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml"
echo "== curl usage in $FILE =="
rg -n 'curl -skSL|raw\.githubusercontent\.com|/bin/bash -s' "$FILE" || true
echo
echo "== Context around lines 170-210 =="
nl -ba "$FILE" | sed -n '170,210p'
echo
echo "== Context around lines 250-310 =="
nl -ba "$FILE" | sed -n '250,310p'
echo
echo "== Existing in-repo gather-extra step-registry refs (if present) =="
ls -la ci-operator/step-registry/gather/extra/ 2>/dev/null || true
test -f ci-operator/step-registry/gather/extra/gather-extra-ref.yaml && nl -ba ci-operator/step-registry/gather/extra/gather-extra-ref.yaml | head -n 80 || true
test -f ci-operator/step-registry/gather/extra/gather-extra-commands.sh && nl -ba ci-operator/step-registry/gather/extra/gather-extra-commands.sh | head -n 40 || trueRepository: openshift/release
Length of output: 655
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml"
echo "== curl usage in $FILE =="
rg -n 'curl -skSL|raw\.githubusercontent\.com|/bin/bash -s' "$FILE" || true
echo
echo "== Context around lines 175-190 =="
awk 'NR>=175 && NR<=190 {printf "%d:%s\n", NR, $0}' "$FILE"
echo
echo "== Context around lines 268-290 =="
awk 'NR>=268 && NR<=290 {printf "%d:%s\n", NR, $0}' "$FILE"
echo
echo "== In-repo gather-extra step-registry files =="
ls -la ci-operator/step-registry/gather/extra 2>/dev/null || true
test -f ci-operator/step-registry/gather/extra/gather-extra-ref.yaml && echo "FOUND gather-extra-ref.yaml" || echo "MISSING gather-extra-ref.yaml"
test -f ci-operator/step-registry/gather/extra/gather-extra-commands.sh && echo "FOUND gather-extra-commands.sh" || echo "MISSING gather-extra-commands.sh"
echo
echo "== Top of gather-extra-ref.yaml (if present) =="
if test -f ci-operator/step-registry/gather/extra/gather-extra-ref.yaml; then
head -n 60 ci-operator/step-registry/gather/extra/gather-extra-ref.yaml
fi
echo
echo "== First lines of gather-extra-commands.sh (if present) =="
if test -f ci-operator/step-registry/gather/extra/gather-extra-commands.sh; then
head -n 60 ci-operator/step-registry/gather/extra/gather-extra-commands.sh
fiRepository: openshift/release
Length of output: 6357
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml"
echo "== How gather-extra is referenced elsewhere (repo-wide) =="
rg -n --glob 'ci-operator/config/**/*.yaml' 'as:\s*openshift-gather-extra|gather-extra-ref\.yaml|commands:\s*gather-extra-commands\.sh|ref:\s*gather-extra\b' ci-operator/config | head -n 80
echo
echo "== Gather-extra references in this specific file =="
rg -n 'gather-extra|openshift-gather-extra' "$FILE" || true
echo
echo "== Show the full openshift-gather-extra blocks =="
awk 'NR>=160 && NR<=200 {print} NR==200{exit}' "$FILE"
awk 'NR>=260 && NR<=300 {print}' "$FILE"Repository: openshift/release
Length of output: 15076
🏁 Script executed:
#!/bin/bash
set -euo pipefail
TARGET="ci-operator/config/redhat-openshift-ecosystem/msp/redhat-openshift-ecosystem-msp-osd-4.10.yaml"
echo "== Inspect $TARGET around gather-extra ref =="
rg -n "ref:\s*gather-extra|as:\s*openshift-gather-extra" "$TARGET"
awk 'NR>=35 && NR<=80 {print}' "$TARGET"Repository: openshift/release
Length of output: 1473
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Gather-extra ref yaml =="
FILE="ci-operator/step-registry/gather/extra/gather-extra-ref.yaml"
nl -ba "$FILE" | head -n 120
echo
echo "== Search for in-repo gather-extra usage patterns (ref: gather-extra) =="
rg -n --glob 'ci-operator/config/**/*.yaml' 'ref:\s*gather-extra\b' ci-operator/config | head -n 50
echo
echo "== Show a couple surrounding blocks of ref: gather-extra =="
rg -n --glob 'ci-operator/config/**/*.yaml' -C4 'ref:\s*gather-extra\b' ci-operator/config | head -n 120
echo
echo "== Search for configs using curl|bash gather-extra-commands.sh =="
rg -n --glob 'ci-operator/config/**/*.yaml' 'curl -skSL .*gather/extra/gather-extra-commands\.sh\s*\|\s*/bin/bash -s' ci-operator/config | head -n 50Repository: openshift/release
Length of output: 150
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Gather-extra ref yaml first 120 lines =="
FILE="ci-operator/step-registry/gather/extra/gather-extra-ref.yaml"
if test -f "$FILE"; then
head -n 120 "$FILE"
else
echo "MISSING $FILE"
fi
echo
echo "== Gather-extra ref occurrences (show up to 5 matches) =="
rg -n --glob 'ci-operator/config/**/*.yaml' 'ref:\s*gather-extra\b' ci-operator/config | head -n 5
echo
echo "== Configs using in-repo gather-extra commands via ref: gather-extra (show -C2 around first match) =="
FIRST="$(rg -n --glob 'ci-operator/config/**/*.yaml' 'ref:\s*gather-extra\b' ci-operator/config | head -n 1 | cut -d: -f1)"
if test -n "$FIRST" && test -f "$FIRST"; then
rg -n -C2 'ref:\s*gather-extra\b' "$FIRST"
fi
echo
echo "== Any configs using curl|bash gather-extra-commands.sh (show up to 10 matches) =="
rg -n --glob 'ci-operator/config/**/*.yaml' 'curl -skSL .*gather/extra/gather-extra-commands\.sh.*\|\s*/bin/bash -s' ci-operator/config | head -n 10Repository: openshift/release
Length of output: 1187
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE="ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml"
echo "== Top-level image definitions (first ~220 lines) =="
head -n 220 "$FILE"
echo
echo "== Where serverless-source-image is defined (search) =="
rg -n 'serverless-source-image|from:\s*serverless-source-image|as:\s*serverless-source-image' "$FILE"
echo
echo "== Post-step block for openshift-gather-extra (first occurrence, ~170-210) =="
awk 'NR>=160 && NR<=210 {print}' "$FILE"
echo
echo "== Post-step block for openshift-gather-extra (second occurrence, ~250-300) =="
awk 'NR>=250 && NR<=300 {print}' "$FILE"Repository: openshift/release
Length of output: 11019
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Pick a known file that uses "as: openshift-gather-extra" (no network access change needed)
FILE="ci-operator/config/openshift-knative/serving/openshift-knative-serving-release-next__420.yaml"
echo "== Looking for openshift-gather-extra blocks in $FILE =="
rg -n "as:\s*openshift-gather-extra|ref:\s*gather-extra|gather-extra-commands\.sh|curl -skSL .*gather/extra" "$FILE"
echo
echo "== Show first openshift-gather-extra block (around first match) =="
FIRST_LINE="$(rg -n "as:\s*openshift-gather-extra" "$FILE" | head -n1 | cut -d: -f1)"
if test -n "${FIRST_LINE}"; then
START=$((FIRST_LINE-20))
END=$((FIRST_LINE+60))
awk -v s="$START" -v e="$END" 'NR>=s && NR<=e {print}' "$FILE"
fiRepository: openshift/release
Length of output: 3740
Replace remote curl -skSL ... | /bin/bash -s gather-extra execution with in-repo ref: gather-extra.
In ci-operator/config/openshift-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml, the openshift-gather-extra post steps (lines 183-184 and 278-279) download ci-operator/step-registry/gather/extra/gather-extra-commands.sh from the mutable .../main/... path and execute it with TLS verification disabled (-k). Switch to the in-tree step-registry ci-operator/step-registry/gather/extra/gather-extra-ref.yaml (- ref: gather-extra, matching the current from: serverless-source-image), or pin to an immutable commit URL and remove -k.
🤖 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-knative/serverless-operator/openshift-knative-serverless-operator-release-1.37__420.yaml`
around lines 183 - 184, The post-step that runs openshift-gather-extra currently
downloads and executes the remote script via "curl -skSL ... | /bin/bash -s";
update the post step(s) named openshift-gather-extra to use the in-repo
step-registry reference instead (replace the curl+pipe command with a step entry
"ref: gather-extra" and ensure "from: serverless-source-image" matches), or
alternatively change the curl invocation to a pinned immutable commit URL and
remove the "-k" flag; locate the command strings in the YAML (the commands block
under openshift-gather-extra) and replace accordingly.
|
@maschmid: 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. |
test only
Summary by CodeRabbit
This PR updates CI operator configurations for the OpenShift Knative Serverless Operator release 1.37 pipeline across multiple variants.
Files modified:
openshift-knative-serverless-operator-release-1.37__420.yaml (new file, +321 lines)
kitchensink-upgrade(optional) andkitchensink-upgrade-c(cron-scheduled)openshift-knative-serverless-operator-release-1.37__421.yaml (-87 lines)
kitchensink-upgradetest job and its associated post-step configuration for log collection and must-gatheropenshift-knative-serverless-operator-release-1.37__ocp-4.22-lp-interop.yaml (+8/-6 lines)
COMPUTE_NODE_REPLICAS=6environment variable for AWS LP interop test configurations (two locations)SKIP_SPOT_INSTANCES=trueandMAP_TESTS=trueflags to end-to-end test steps (test-e2e-with-kafka, test-upstream-e2e-no-upgrade, test-upstream-e2e-kafka-no-upgrade)Note: This PR is marked [DNM] (Do Not Merge) with "test only" description, indicating it's intended for testing purposes.