Skip to content

NO-JIRA: Add E2E coverage reporting for secrets-store-csi-driver-operator#79231

Open
PillaiManish wants to merge 1 commit into
openshift:mainfrom
PillaiManish:sscsi-e2e-coverage-integration
Open

NO-JIRA: Add E2E coverage reporting for secrets-store-csi-driver-operator#79231
PillaiManish wants to merge 1 commit into
openshift:mainfrom
PillaiManish:sscsi-e2e-coverage-integration

Conversation

@PillaiManish
Copy link
Copy Markdown
Member

@PillaiManish PillaiManish commented May 13, 2026

Summary

  • Adds a coverage-instrumented image build via dockerfile_literal for secrets-store-csi-driver-operator
  • Adds setup-coverage step to the operator-e2e-fips test that patches the CSV to swap in the coverage image and set GOCOVERDIR
  • Adds collect-coverage post step (best_effort: true) that sends SIGTERM to flush coverage data, waits for container restart, copies data via oc cp, converts to Go profile, and uploads to Codecov

Coverage collection failures never block PR merge (best_effort: true).

References

E2E Coverage Reporting Infrastructure for secrets-store-csi-driver-operator

This PR updates the OpenShift CI configuration in openshift/release to add end-to-end Go coverage collection for the secrets-store-csi-driver-operator. It affects the ci-operator config for the operator (ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml) and the operator-e2e-fips job flow.

Practical changes:

  • Adds a coverage-instrumented operator image build (pipeline image: secrets-store-csi-driver-operator-coverage) via a dockerfile_literal multi-stage build that compiles the operator with FIPS-related build tags and Go coverage instrumentation, and configures the image to use /tmp/e2e-cover as GOCOVERDIR.
  • Integrates coverage lifecycle into the operator-e2e-fips job:
    • setup-coverage (pre-test): patches the operator CSV to replace the deployed operator image with the coverage image and injects the GOCOVERDIR environment variable, then waits for rollout and verifies the env var (non-fatal).
    • collect-coverage (post-test, best_effort: true): locates the operator pod, sends SIGTERM to flush coverage data (causing container restart), waits for readiness, copies coverage artifacts from /tmp/e2e-cover via oc cp, converts covdata into a Go coverage profile (go tool covdata textfmt/percent), and attempts to upload results to Codecov if a token is available. The Codecov uploader binary is downloaded and SHA256-verified. Collection or upload failures are tolerated and will not block PR merges.
  • Credentials: the pipeline includes logic to use a Codecov token from CI credentials/Vault; uploads are optional and the job preserves local profiles if no token is present.

Why this matters:

  • Enables automated collection (and optional upload) of Go coverage data produced by E2E runs for the secrets-store-csi-driver-operator, while keeping collection non-blocking so CI reliability is preserved.

References:

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 13, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@PillaiManish: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

  • Adds a coverage-instrumented image build via dockerfile_literal for secrets-store-csi-driver-operator
  • Adds setup-coverage step to the operator-e2e-fips test that patches the CSV to swap in the coverage image and set GOCOVERDIR
  • Adds collect-coverage post step (best_effort: true) that sends SIGTERM to flush coverage data, waits for container restart, copies data via oc cp, converts to Go profile, and uploads to Codecov

Coverage collection failures never block PR merge (best_effort: true).

References

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.

@openshift-ci openshift-ci Bot requested review from TrilokGeer and chiragkyal May 13, 2026 09:49
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 13, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: PillaiManish
Once this PR has been reviewed and has the lgtm label, please assign mytreya-rh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@PillaiManish
Copy link
Copy Markdown
Member Author

/pj-rehearse max

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@PillaiManish: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 567e4f94-631d-430a-b308-e301cb789779

📥 Commits

Reviewing files that changed from the base of the PR and between 4a11003 and 81f4d0c.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

Walkthrough

Adds a coverage-enabled operator image and CI steps to the operator-e2e-fips flow: it deploys a GOCOVERDIR-instrumented operator image, collects Go coverage data from the operator pod after tests, converts covdata to human-readable output, and optionally uploads profiles to Codecov.

Changes

Coverage Instrumentation and Collection for FIPS E2E Tests

Layer / File(s) Summary
Coverage image build/publish target
ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml (lines ~40–54)
Adds secrets-store-csi-driver-operator-coverage image using a multi-stage Docker build: builder compiles with strictfipsruntime,openssl and -cover; runtime stage uses OpenShift 4.22 base, sets GOCOVERDIR=/tmp/e2e-cover, and entrypoint ensures the coverage directory exists.
CI setup: patch CSV and inject GOCOVERDIR
ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml (lines ~114–243)
Adds setup-coverage step that patches the operator ClusterServiceVersion to use the coverage image and appends GOCOVERDIR to the operator container env, waits for rollout completion, and checks for the env var in pods (check is non-fatal).
CI post-step: collect, process, and optionally upload coverage
ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml (lines ~114–243)
Adds collect-coverage post-step that finds the operator pod, sends SIGTERM to PID 1 to flush coverage, waits for readiness, copies /tmp/e2e-cover artifacts to workspace, converts covdata to text/percent via go tool covdata, verifies the Codecov uploader by SHA256, and uploads the profile if CODECOV_TOKEN is present (otherwise preserves local files).

Sequence Diagram

sequenceDiagram
  participant CI as CI Job
  participant API as OpenShift API
  participant Pod as Operator Pod
  participant Codecov as Codecov

  CI->>API: setup-coverage: patch CSV -> use COVERAGE_IMAGE, add GOCOVERDIR
  API->>Pod: rollout new operator deployment
  Pod-->>API: readiness
  CI->>API: run operator-e2e-fips tests
  API->>Pod: tests exercise operator (writes coverage to /tmp/e2e-cover)
  CI->>Pod: collect-coverage: kubectl exec SIGTERM (flush coverage)
  Pod-->>API: restart/ready
  CI->>Pod: kubectl cp /tmp/e2e-cover -> workspace
  CI->>CI: go tool covdata convert -> text/percent
  CI->>Codecov: verify uploader SHA256
  alt CODECOV_TOKEN present
    CI->>Codecov: upload coverage profile
  else
    CI->>CI: preserve local coverage files
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly summarizes the main change: adding E2E coverage reporting for the secrets-store-csi-driver-operator, which is directly supported by the substantial additions to the CI/CD pipeline configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR modifies CI/CD YAML configuration only; no Ginkgo test code is introduced. Test step names in YAML are static and descriptive, free from dynamic content. Check is not applicable.
Test Structure And Quality ✅ Passed The custom check is for Ginkgo test code quality, but this PR modifies CI/CD YAML pipeline configuration, not test code. No Ginkgo tests are present in the changes, so the check is not applicable.
Microshift Test Compatibility ✅ Passed This PR modifies only YAML CI/CD configuration, not Go test code. No Ginkgo e2e tests (It(), Describe(), etc.) are added, so the MicroShift compatibility check does not apply.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR modifies CI/CD YAML configuration to add coverage reporting infrastructure to an existing test flow, not adding new Ginkgo e2e tests. SNO compatibility check does not apply.
Topology-Aware Scheduling Compatibility ✅ Passed CI/CD config file only; no Kubernetes manifests or scheduling constraints. Check not applicable.
Ote Binary Stdout Contract ✅ Passed PR modifies only CI/CD YAML configuration files in openshift/release repo. OTE Binary Stdout Contract check applies to Go source code violations, not CI configuration files.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR modifies only CI/CD YAML configuration file, not Go test code. No Ginkgo e2e tests added. Check for IPv4 assumptions in tests does not apply.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml`:
- Around line 225-228: The JSON patch that appends GOCOVERDIR to the container
env can fail if the container has no env array; modify the patching logic around
the oc patch csv "${csv}" -n "${NAMESPACE}" call so you first ensure the target
container has an env array before using the add with path ".../env/-". Implement
this by either (a) issuing a preparatory patch (e.g., an oc patch --type=merge
or a JSON patch that creates
/spec/install/spec/deployments/0/spec/template/spec/containers/0/env as an empty
array if missing) and then run the existing add for the GOCOVERDIR entry, or (b)
stop using a single JSON-patch append and instead perform a
merge/strategic-merge patch that injects the env entry (including COVERAGE_IMAGE
and GOCOVERDIR_PATH) in one safe operation so it works whether env exists or
not.
- Around line 142-151: The current flow sends SIGTERM to PID 1 then waits for
the pod to restart and runs oc cp from ${GOCOVERDIR_PATH}, but that path is on
the container ephemeral filesystem so the coverage files are lost when the
container restarts; update the job to either (A) ensure ${GOCOVERDIR_PATH} is
backed by a persistent volume (e.g., mount an emptyDir or hostPath to the same
path in the pod spec) so files survive the restart, or (B) copy the coverage
files out of the running container before sending kill -TERM 1 (use oc cp from
${NAMESPACE}/${pod}:${GOCOVERDIR_PATH} to ${coverage_dir} prior to the oc exec
'kill -TERM 1'), referencing the variables GOCOVERDIR_PATH, coverage_dir, oc
exec, and oc cp in your changes.
🪄 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: dc595cc8-a074-4cb4-966d-d7c7cea09e3e

📥 Commits

Reviewing files that changed from the base of the PR and between 25e6677 and 755dba5.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

Comment on lines +142 to +151
echo "Sending SIGTERM to flush coverage data (container will restart)..."
oc exec -n "${NAMESPACE}" "${pod}" -- /bin/sh -c 'kill -TERM 1' 2>/dev/null || true

echo "Waiting for container to restart and become ready..."
sleep 5
oc wait pod "${pod}" -n "${NAMESPACE}" --for=condition=Ready --timeout=120s

echo "Copying coverage data from restarted container..."
mkdir -p "${coverage_dir}"
oc cp "${NAMESPACE}/${pod}:${GOCOVERDIR_PATH}/." "${coverage_dir}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if there's a volume mount defined for the coverage directory in the operator deployment
# or in related CSV/deployment manifests

# Search for volume definitions related to e2e-cover in the repo
rg -n "e2e-cover|GOCOVERDIR" --type yaml -C3

# Check if emptyDir or any volume is configured for /tmp
ast-grep --pattern 'volumes:
  $$$
  emptyDir
  $$$'

Repository: openshift/release

Length of output: 8693


🏁 Script executed:

# Look at the full deployment definition in the CI config file
grep -n "volumes:" ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

# Also check if there's any volumeMount defined
grep -n "volumeMounts:" ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

# Check the exact lines around the deployment spec
sed -n '200,250p' ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

Repository: openshift/release

Length of output: 2048


🏁 Script executed:

# Look at lines 140-160 to see the post-step context
sed -n '140,160p' ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

# Also check for any volumes definition in the whole file
grep -n "volumes:" ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

# Check if there are volumeMounts anywhere
grep -n "volumeMounts:" ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

Repository: openshift/release

Length of output: 1000


🏁 Script executed:

# Get the full test-e2e-post step definition to see complete context
grep -n "test-e2e-post" ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml -A 100

# Also look for any emptyDir or volume definitions in the entire file
cat ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml | grep -i "emptydir\|volumes\|volumemount"

Repository: openshift/release

Length of output: 43


🏁 Script executed:

# Let's read the entire CI config file to understand the full structure
wc -l ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

# Read the file
cat ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml

Repository: openshift/release

Length of output: 14132


Coverage data will be lost after sending SIGTERM to the container.

When SIGTERM is sent to PID 1, the Go runtime flushes coverage to /tmp/e2e-cover in the current container instance. However, /tmp is part of the container's ephemeral filesystem with no persistent volume backing it. When the container restarts, Kubernetes creates a new container instance with a fresh /tmp, discarding the old container's filesystem entirely. The subsequent oc cp will copy from the new container's empty /tmp/e2e-cover directory.

To fix this, use a persistent volume (emptyDir or hostPath) mounted at the coverage directory path, or refactor to collect coverage data before triggering the container restart.

🤖 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/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml`
around lines 142 - 151, The current flow sends SIGTERM to PID 1 then waits for
the pod to restart and runs oc cp from ${GOCOVERDIR_PATH}, but that path is on
the container ephemeral filesystem so the coverage files are lost when the
container restarts; update the job to either (A) ensure ${GOCOVERDIR_PATH} is
backed by a persistent volume (e.g., mount an emptyDir or hostPath to the same
path in the pod spec) so files survive the restart, or (B) copy the coverage
files out of the running container before sending kill -TERM 1 (use oc cp from
${NAMESPACE}/${pod}:${GOCOVERDIR_PATH} to ${coverage_dir} prior to the oc exec
'kill -TERM 1'), referencing the variables GOCOVERDIR_PATH, coverage_dir, oc
exec, and oc cp in your changes.

Comment on lines +225 to +228
oc patch csv "${csv}" -n "${NAMESPACE}" --type=json -p "[
{\"op\": \"replace\", \"path\": \"/spec/install/spec/deployments/0/spec/template/spec/containers/0/image\", \"value\": \"${COVERAGE_IMAGE}\"},
{\"op\": \"add\", \"path\": \"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-\", \"value\": {\"name\": \"GOCOVERDIR\", \"value\": \"${GOCOVERDIR_PATH}\"}}
]"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

JSON patch may fail if env array doesn't exist.

The "add" operation with path ...env/- assumes the env array already exists in the container spec. If the container has no existing environment variables, this patch will fail with "path not found" error.

Consider using a test-then-add approach or ensure the operator container always has at least one env var defined:

Suggested defensive approach
-        oc patch csv "${csv}" -n "${NAMESPACE}" --type=json -p "[
-          {\"op\": \"replace\", \"path\": \"/spec/install/spec/deployments/0/spec/template/spec/containers/0/image\", \"value\": \"${COVERAGE_IMAGE}\"},
-          {\"op\": \"add\", \"path\": \"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-\", \"value\": {\"name\": \"GOCOVERDIR\", \"value\": \"${GOCOVERDIR_PATH}\"}}
-        ]"
+        # Check if env array exists, create if needed
+        has_env=$(oc get csv "${csv}" -n "${NAMESPACE}" -o jsonpath='{.spec.install.spec.deployments[0].spec.template.spec.containers[0].env}' 2>/dev/null)
+        if [ -z "${has_env}" ] || [ "${has_env}" = "null" ]; then
+          env_patch='{"op": "add", "path": "/spec/install/spec/deployments/0/spec/template/spec/containers/0/env", "value": [{"name": "GOCOVERDIR", "value": "'"${GOCOVERDIR_PATH}"'"}]}'
+        else
+          env_patch='{"op": "add", "path": "/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-", "value": {"name": "GOCOVERDIR", "value": "'"${GOCOVERDIR_PATH}"'"}}'
+        fi
+        oc patch csv "${csv}" -n "${NAMESPACE}" --type=json -p "[
+          {\"op\": \"replace\", \"path\": \"/spec/install/spec/deployments/0/spec/template/spec/containers/0/image\", \"value\": \"${COVERAGE_IMAGE}\"},
+          ${env_patch}
+        ]"
🤖 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/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml`
around lines 225 - 228, The JSON patch that appends GOCOVERDIR to the container
env can fail if the container has no env array; modify the patching logic around
the oc patch csv "${csv}" -n "${NAMESPACE}" call so you first ensure the target
container has an env array before using the add with path ".../env/-". Implement
this by either (a) issuing a preparatory patch (e.g., an oc patch --type=merge
or a JSON patch that creates
/spec/install/spec/deployments/0/spec/template/spec/containers/0/env as an empty
array if missing) and then run the existing add for the GOCOVERDIR entry, or (b)
stop using a single JSON-patch append and instead perform a
merge/strategic-merge patch that injects the env entry (including COVERAGE_IMAGE
and GOCOVERDIR_PATH) in one safe operation so it works whether env exists or
not.

…ator

Add coverage-instrumented image build and CI steps to collect E2E
test coverage data and upload to Codecov.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PillaiManish PillaiManish force-pushed the sscsi-e2e-coverage-integration branch from 4a11003 to 81f4d0c Compare May 13, 2026 11:13
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@PillaiManish: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-secrets-store-csi-driver-operator-main-ci-index-secrets-store-csi-driver-operator-bundle openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-fips-image-scan-mustgather openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-fips-image-scan-operator openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-images openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-aws openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-azure openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-azure-rhcos10 openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-azure-rhcos10-fips openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-fips openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-gcp openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-vault-fips openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-security openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-unit openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-verify openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
pull-ci-openshift-secrets-store-csi-driver-operator-main-verify-deps openshift/secrets-store-csi-driver-operator presubmit Ci-operator config changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@PillaiManish
Copy link
Copy Markdown
Member Author

/pj-rehearse max

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@PillaiManish: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@PillaiManish
Copy link
Copy Markdown
Member Author

/pj-rehearse pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-gcp

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@PillaiManish: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 13, 2026

@PillaiManish: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/secrets-store-csi-driver-operator/main/operator-e2e-vault-fips 81f4d0c link unknown /pj-rehearse pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-vault-fips
ci/prow/generated-config 81f4d0c link true /test generated-config
ci/rehearse/openshift/secrets-store-csi-driver-operator/main/operator-e2e-gcp 81f4d0c link unknown /pj-rehearse pull-ci-openshift-secrets-store-csi-driver-operator-main-operator-e2e-gcp

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

@PillaiManish
Copy link
Copy Markdown
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants