STOR-3022: Enable CBT snapshot-metadata e2e tests in TechPreview CI jobs - #81061
STOR-3022: Enable CBT snapshot-metadata e2e tests in TechPreview CI jobs#81061RomanBednar wants to merge 2 commits into
Conversation
|
@RomanBednar: This pull request references STOR-3022 which is a valid 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. |
WalkthroughThis PR adds ChangesCSI snapshot metadata enablement
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@RomanBednar, If the problem persists, please contact Test Platform. |
5beeee0 to
84a69f8
Compare
|
/pj-rehearse pull-ci-openshift-origin-release-4.23-e2e-aws-ovn-single-node-techpreview |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@RomanBednar: your |
|
/pj-rehearse pull-ci-openshift-origin-release-4.23-e2e-gcp-ovn-techpreview |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-origin-release-4.23-e2e-gcp-ovn-techpreview-serial |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@RomanBednar: job(s): pull-ci-openshift-origin-release-4.23-e2e-gcp-ovn-techpreview-serial either don't exist or were not found to be affected, and cannot be rehearsed |
|
@RomanBednar: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command. |
2 similar comments
|
@RomanBednar: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command. |
|
@RomanBednar: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command. |
84a69f8 to
96249e1
Compare
|
@RomanBednar: |
|
/cc |
96249e1 to
4e31af4
Compare
4e31af4 to
fc0706a
Compare
|
/pj-rehearse |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
8d07ee3 to
79ff00a
Compare
|
/pj-rehearse pull-ci-openshift-csi-external-snapshot-metadata-main-e2e-aws-ovn-techpreview pull-ci-openshift-origin-release-4.23-e2e-aws-ovn-single-node-techpreview |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
The hostpath CSI driver is deployed as a StatefulSet that already includes the The problem is that this sidecar needs a TLS secret ( So for all the other 60+ CSI tests (subPath, expansion, provisioning, snapshots, ephemeral volumes...), the pod tries to mount a secret that doesn't exist, Kubernetes blocks all containers from starting, PVCs never get provisioned, and everything times out. From build-log: Upstream Kubernetes never hits this because they only set the env var when running the CBT tests alone — not the full conformance suite like we do with We should propose a fix upstream to have |
|
@RomanBednar: The following tests failed, say
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. |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/origin#31485 |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/origin#31485 |
DO NOT MERGE — remove this commit before merging the PR. Adds a temporary ci-operator config that targets the csi-snapshot-metadata-tls-secret-fix branch from openshift/origin PR openshift#31485 instead of main. This allows pj-rehearse to test the step registry env var change (CSI_PROW_ENABLE_SNAPSHOT_METADATA) together with the origin code fix. The promotion section is removed to avoid conflicts with the main config promoting the same images. After rehearsal confirms the tests pass, revert this commit.
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
@RomanBednar: This pull request references STOR-3022 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target only the "5.0.0" version, but multiple target versions were set. 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: RomanBednar The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
ci-operator/config/openshift/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml (1)
598-599: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueThese flag additions duplicate the origin 5.0 config.
The four
CSI_PROW_ENABLE_SNAPSHOT_METADATAentries repeat the changes inci-operator/config/openshift/origin/openshift-origin-release-5.0.yaml. If this branch config is removed, these entries go away with it. If the file stays, keep the two files in sync so the rehearsal result matches the target configuration.Also applies to: 610-612, 764-766, 923-925
🤖 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/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml` around lines 598 - 599, Remove the duplicated CSI_PROW_ENABLE_SNAPSHOT_METADATA flag additions from openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml, including all four referenced entries; if the branch configuration must remain, instead synchronize these entries exactly with openshift-origin-release-5.0.yaml.ci-operator/config/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-main.yaml (1)
46-52: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winDecide whether this new AWS e2e job must block merges.
The test omits
optional: trueandalways_run: false. The generated presubmit therefore runs on every PR and blocks merge. Cloud e2e jobs are slow and flake-prone. If the team wants this job as informational at first, addoptional: true.♻️ Optional change
- as: e2e-aws-ovn-techpreview + optional: true steps: cluster_profile: openshift-org-aws🤖 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/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-main.yaml` around lines 46 - 52, Update the e2e-aws-ovn-techpreview presubmit job configuration to explicitly make the job informational by adding optional: true; preserve its existing workflow, environment, and cluster profile settings.
🤖 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/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml`:
- Around line 930-933: Remove the temporary csi-snapshot-metadata-tls-secret-fix
CI configuration, including its zz_generated_metadata entry, so it no longer
generates Prow jobs; then run make update to regenerate the CI configuration and
use /pj-rehearse for the origin pull request.
---
Nitpick comments:
In
`@ci-operator/config/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-main.yaml`:
- Around line 46-52: Update the e2e-aws-ovn-techpreview presubmit job
configuration to explicitly make the job informational by adding optional: true;
preserve its existing workflow, environment, and cluster profile settings.
In
`@ci-operator/config/openshift/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml`:
- Around line 598-599: Remove the duplicated CSI_PROW_ENABLE_SNAPSHOT_METADATA
flag additions from openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml,
including all four referenced entries; if the branch configuration must remain,
instead synchronize these entries exactly with
openshift-origin-release-5.0.yaml.
🪄 Autofix
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: d3394876-9295-4123-8f79-ae5962b53a07
⛔ Files ignored due to path filters (5)
ci-operator/jobs/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-main-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-release-4.23-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-release-5.0-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-release-5.1-presubmits.yamlis excluded by!ci-operator/jobs/**ci-operator/jobs/openshift/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (12)
ci-operator/config/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-main.yamlci-operator/config/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-release-4.23.yamlci-operator/config/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-release-5.0.yamlci-operator/config/openshift/csi-external-snapshot-metadata/openshift-csi-external-snapshot-metadata-release-5.1.yamlci-operator/config/openshift/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yamlci-operator/config/openshift/origin/openshift-origin-main.yamlci-operator/config/openshift/origin/openshift-origin-release-4.23.yamlci-operator/config/openshift/origin/openshift-origin-release-5.0.yamlci-operator/config/openshift/origin/openshift-origin-release-5.1.yamlci-operator/config/openshift/release/openshift-release-main__nightly-5.0.yamlci-operator/step-registry/openshift/e2e/test/openshift-e2e-test-ref.yamlci-operator/step-registry/single-node/e2e/test/single-node-e2e-test-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (3)
- ci-operator/config/openshift/origin/openshift-origin-release-4.23.yaml
- ci-operator/step-registry/single-node/e2e/test/single-node-e2e-test-ref.yaml
- ci-operator/step-registry/openshift/e2e/test/openshift-e2e-test-ref.yaml
| zz_generated_metadata: | ||
| branch: csi-snapshot-metadata-tls-secret-fix | ||
| org: openshift | ||
| repo: origin |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check whether the branch exists upstream and whether other temporary origin branch configs exist.
set -uo pipefail
echo "== branch existence in openshift/origin =="
gh api repos/openshift/origin/branches/csi-snapshot-metadata-tls-secret-fix --jq '.name' || echo "branch not found"
echo "== existing origin branch configs =="
fd -t f 'openshift-origin-' ci-operator/config/openshift/origin | sort
echo "== branch values recorded in those configs =="
fd -t f 'openshift-origin-' ci-operator/config/openshift/origin --exec sh -c 'printf "%s: " "$1"; rg -N "^ branch:" "$1"' _ {}Repository: openshift/release
Length of output: 4813
🏁 Script executed:
#!/bin/bash
set -euo pipefail
file="ci-operator/config/openshift/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml"
echo "== change status =="
git status --short -- "$file"
git diff --stat -- "$file"
echo "== references to the feature branch =="
rg -n --hidden --glob '!vendor/**' 'csi-snapshot-metadata-tls-secret-fix' .
echo "== generated Prow/config references =="
rg -n --hidden --glob '!vendor/**' 'openshift-origin-csi-snapshot-metadata-tls-secret-fix|csi-snapshot-metadata-tls-secret-fix' ci-operator jobs prow 2>/dev/null || true
echo "== config shape =="
awk '
/^zz_generated_metadata:/ { metadata=1 }
metadata && /^ (branch|org|repo):/ { print }
/^tests:/ { tests=1 }
tests && /^- name:/ { count++ }
END { print "test_entries=" count+0 }
' "$file"
echo "== release-5.0 comparison after branch substitution =="
python3 - "$file" <<'PY'
from pathlib import Path
import sys
target = Path(sys.argv[1])
base = Path("ci-operator/config/openshift/origin/openshift-origin-release-5.0.yaml")
if not base.exists():
print("release-5.0 config not found")
raise SystemExit(0)
a = target.read_text().replace("branch: csi-snapshot-metadata-tls-secret-fix",
"branch: release-5.0")
b = base.read_text()
print("identical_except_branch=" + str(a == b))
PYRepository: openshift/release
Length of output: 50373
Remove the temporary branch configuration and regenerate CI jobs.
csi-snapshot-metadata-tls-secret-fix is not an openshift/origin branch, but this config generates a full Prow job set. Remove the config and run make update; use /pj-rehearse against the origin pull request instead.
🤖 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/origin/openshift-origin-csi-snapshot-metadata-tls-secret-fix.yaml`
around lines 930 - 933, Remove the temporary
csi-snapshot-metadata-tls-secret-fix CI configuration, including its
zz_generated_metadata entry, so it no longer generates Prow jobs; then run make
update to regenerate the CI configuration and use /pj-rehearse for the origin
pull request.
|
/hold |
|
@RomanBednar: The specified target(s) for The following commands are available to trigger optional jobs: Use 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 kubernetes-sigs/prow repository. |
|
[REHEARSALNOTIFIER]
A total of 18248 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: |
|
/pj-rehearse pull-ci-openshift-csi-external-snapshot-metadata-main-e2e-aws-ovn-techpreview |
|
@RomanBednar: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/origin#31485 |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/kubernetes#2739 |
|
@RomanBednar, |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/kubernetes#2739 |
|
@RomanBednar, |
|
/testwith openshift/csi-external-snapshot-metadata/main/e2e-aws-ovn-techpreview openshift/kubernetes#2739 |
|
@RomanBednar, |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/origin#31485 openshift/kubernetes#2739 |
|
/testwith openshift/origin/main/e2e-aws-ovn-single-node-techpreview openshift/origin#31485 openshift/kubernetes#2739 #81061 |
Summary by CodeRabbit
This PR enables CSI snapshot-metadata support in OpenShift TechPreview CI jobs across origin releases 4.23, 5.0, 5.1, and main. It also enables the corresponding AWS TechPreview tests for the external snapshot-metadata component.
The CI steps now accept
CSI_PROW_ENABLE_SNAPSHOT_METADATA. The setting preserves the hostpath CSI snapshot-metadata sidecar so CBT snapshot-metadata e2e tests can run.The PR adds CI configuration for the
csi-snapshot-metadata-tls-secret-fixbranch. This configuration covers build, validation, upgrade, CSI, snapshot-metadata, TLS, and platform-specific e2e jobs.