Skip to content

Added e2e test cases from openshift test private.#160

Open
siddhibhor-56 wants to merge 2 commits into
openshift:mainfrom
siddhibhor-56:more-e2es
Open

Added e2e test cases from openshift test private.#160
siddhibhor-56 wants to merge 2 commits into
openshift:mainfrom
siddhibhor-56:more-e2es

Conversation

@siddhibhor-56

@siddhibhor-56 siddhibhor-56 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Added test cases for :-

  • AWS parameter store
  • ESO generators

Summary by CodeRabbit

  • Bug Fixes
    • Improved startup checks so setup waits for the operand namespace to fully terminate before continuing, reducing flaky failures during test runs.
  • New Features
    • Added end-to-end coverage for AWS secret sync, secret ownership handling, push-based secret updates, parameter store round-trips, and password generator workflows.
    • Added shared test helpers for creating AWS-backed resources and generator-based secrets.

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Walkthrough

Adds a new Ginkgo E2E test suite (provider_e2e_test.go) covering AWS Parameter Store, Secrets Manager, and ESO Generator providers. Introduces utility packages for building unstructured Kubernetes resources and calling AWS SDK APIs. Updates the shared test helper with a namespace-termination polling guard. Adds three new indirect Go module dependencies.

Changes

E2E Provider Test Suite with AWS and Generator Coverage

Layer / File(s) Summary
Namespace termination guard
test/e2e/helpers_test.go
ensureExternalSecretsConfigReady now requires suiteClientset to be set and calls new waitForNamespaceTermination, which polls until the operand namespace is fully deleted before proceeding.
AWS unstructured resource builders and SDK helpers
test/utils/aws_provider_resources.go
New file with builders for SecretStore, ExternalSecret (single key, dataFrom, and creationPolicy variants), and PushSecret (key and entire-secret variants), plus AWS SDK helpers for creating, updating, and reading Secrets Manager secrets and SSM parameters, and CopyAWSCredsToNamespace for credential bootstrapping.
Generator resource builders
test/utils/generator_resources.go
New file with PasswordClusterGenerator, PasswordNamespacedGenerator, and ExternalSecretWithGenerator helpers that produce typed unstructured objects for password generator CRs and ExternalSecrets that reference them.
E2E suite setup and lifecycle hooks
test/e2e/provider_e2e_test.go (lines 1–121)
Defines the top-level Describe suite, constructs GVRs for SecretStore/ExternalSecret/PushSecret/ClusterGenerator, and wires BeforeAll/BeforeEach/AfterEach for operator readiness checks, client initialization, and conditional artifact dumping on spec failure.
AWS provider E2E tests
test/e2e/provider_e2e_test.go (lines 122–490)
AWS context covering sync/re-sync from SSM, orphan secret ownership takeover, ownership conflict detection, decodingStrategy: Auto for Secrets Manager, and PushSecret round-trips for both single-key and entire-secret variants.
Generator E2E tests and namespace cleanup
test/e2e/provider_e2e_test.go (lines 491–649)
Generator context covering ClusterGenerator and namespaced password generators (charset/length/regeneration validation), a generator-to-PushSecret round-trip into SSM, generator cleanup in AfterAll, and final test namespace deletion.
Indirect dependency additions
test/go.mod
Adds gorilla/websocket, moby/spdystream, and mxk/go-flowrate as new indirect dependencies.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 13 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Test Structure And Quality ⚠️ Warning provider_e2e_test.go still has bare setup assertions and swallows CopyAWSCredsToNamespace errors, so failures will be hard to diagnose. Add meaningful failure messages to setup assertions, assert CopyAWSCredsToNamespace succeeds, and consider splitting mixed-behavior It blocks if needed.
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning New e2e cases call AWS Secrets Manager/SSM via the AWS SDK, so they require external connectivity outside the cluster. Mark these tests [Skipped:Disconnected] or gate them behind a disconnected-safe env var; otherwise replace AWS calls with cluster-internal or mocked services.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: adding e2e test cases sourced from openshift test private.
Docstring Coverage ✅ Passed Docstring coverage is 94.74% which is sufficient. The required threshold is 80.00%.
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 All Ginkgo titles are static strings; no titles interpolate names, timestamps, UUIDs, or generated values.
Microshift Test Compatibility ✅ Passed The new e2e suite only uses Kubernetes resources plus external-secrets CRDs/AWS helpers; it doesn’t reference banned OpenShift APIs, forbidden namespaces, or HA assumptions.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The new e2e tests only exercise ESO/AWS APIs and single-namespace secrets; no multi-node, scheduling, drain, or HA assumptions were found, and no SNO skip was needed.
Topology-Aware Scheduling Compatibility ✅ Passed PR only adds e2e test helpers and test cases; no deployment manifests, controllers, or scheduling constraints were introduced.
Ote Binary Stdout Contract ✅ Passed No process-level stdout writes were introduced; suite setup uses GinkgoWriter, and changed files add only helpers/polling code.
No-Weak-Crypto ✅ Passed No weak crypto primitives or custom crypto were added; the new code only uses AWS/K8s helpers and test assertions on secret values.
Container-Privileges ✅ Passed Touched files are e2e Go tests/helpers only; no added container/K8s manifests or privilege flags (privileged, hostNetwork, allowPrivilegeEscalation, etc.) were found.
No-Sensitive-Data-In-Logs ✅ Passed No explicit secret/token/PII values are logged; artifact dumps write pod logs and ESO resources, not Secret objects.

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

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

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: build linters: unable to load custom analyzer "kubeapilinter": bin/kube-api-linter.so, plugin: not implemented
The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": bin/kube-api-linter.so, plugin: not implemented


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

@openshift-ci openshift-ci Bot requested review from mytreya-rh and swghosh June 24, 2026 11:20
@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: siddhibhor-56
Once this PR has been reviewed and has the lgtm label, please assign swghosh 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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (2)
test/e2e/helpers_test.go (1)

75-75: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Prefer the typed phase constant over the string literal.

Comparing ns.Status.Phase against the literal "Terminating" works but is fragile to typos and refactors. Use the corev1.NamespaceTerminating constant from k8s.io/api/core/v1.

♻️ Proposed change
-	if ns.Status.Phase != "Terminating" {
+	if ns.Status.Phase != corev1.NamespaceTerminating {
 		return nil
 	}

Ensure corev1 "k8s.io/api/core/v1" is imported.

🤖 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 `@test/e2e/helpers_test.go` at line 75, The namespace phase check in the helper
test is using a fragile string literal instead of the typed Kubernetes constant.
Update the comparison in the namespace status assertion to use
corev1.NamespaceTerminating from k8s.io/api/core/v1, and ensure the test file
imports corev1 so the phase check stays consistent with the API types.
test/e2e/provider_e2e_test.go (1)

273-289: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use Fail() instead of Expect(false).To(BeTrue()) for the missing-condition case.

g.Expect(false).To(BeTrue(), ...) works but is less idiomatic; Fail("expected Ready condition with ownership error") (or StopTrying) reads more clearly when the conditions loop finds no Ready condition.

🤖 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 `@test/e2e/provider_e2e_test.go` around lines 273 - 289, The missing-condition
fallback in the ownership-error check is using a non-idiomatic false
expectation; update the `Eventually` block in `provider_e2e_test.go` so that the
`Ready` condition search in the `conds` loop uses `Fail("expected Ready
condition with ownership error")` (or `StopTrying`) when no matching condition
is found, rather than `g.Expect(false).To(BeTrue(), ...)`.
🤖 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 `@test/e2e/provider_e2e_test.go`:
- Around line 91-101: Add meaningful failure messages to the suite-setup
assertions in provider_e2e_test.go so Ginkgo failures are easier to diagnose.
Update the key Expect(...).To(Succeed()) calls around namespace creation,
VerifyPodsReadyByPrefix, and ensureExternalSecretsConfigReady in the setup flow
to include short, specific messages. Apply the same pattern consistently to
other resource-creation and readiness checks in this file, using the surrounding
helpers and setup steps as anchors.
- Around line 592-593: The AWS credential copy step is discarding the result of
CopyAWSCredsToNamespace, which can hide setup failures and cause later
SecretStore/PushSecret checks to fail confusingly. Update the provider_e2e_test
flow to assert that CopyAWSCredsToNamespace succeeds, matching the earlier AWS
Parameter Store setup pattern, and keep the failure close to the credential-copy
step for clearer test diagnostics.

---

Nitpick comments:
In `@test/e2e/helpers_test.go`:
- Line 75: The namespace phase check in the helper test is using a fragile
string literal instead of the typed Kubernetes constant. Update the comparison
in the namespace status assertion to use corev1.NamespaceTerminating from
k8s.io/api/core/v1, and ensure the test file imports corev1 so the phase check
stays consistent with the API types.

In `@test/e2e/provider_e2e_test.go`:
- Around line 273-289: The missing-condition fallback in the ownership-error
check is using a non-idiomatic false expectation; update the `Eventually` block
in `provider_e2e_test.go` so that the `Ready` condition search in the `conds`
loop uses `Fail("expected Ready condition with ownership error")` (or
`StopTrying`) when no matching condition is found, rather than
`g.Expect(false).To(BeTrue(), ...)`.
🪄 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: Enterprise

Run ID: 70d9ba79-663d-4969-821c-d2d4ca8627c2

📥 Commits

Reviewing files that changed from the base of the PR and between a717728 and 3c86f7c.

⛔ Files ignored due to path filters (76)
  • test/go.sum is excluded by !**/*.sum
  • vendor/github.com/aws/aws-sdk-go/service/ssm/api.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/aws/aws-sdk-go/service/ssm/service.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/.gitignore is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/AUTHORS is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/client.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/compression.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/conn.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/join.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/mask.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/mask_safe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/prepared.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/proxy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/server.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/gorilla/websocket/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/CONTRIBUTING.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/MAINTAINERS is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/NOTICE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/connection.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/handlers.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/priority.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/PATENTS is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/dictionary.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/read.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/spdy/write.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/stream.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/spdystream/utils.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/flowrate.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/io.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mxk/go-flowrate/flowrate/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/internal/socks/client.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/internal/socks/socks.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/proxy/dial.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/proxy/direct.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/proxy/per_host.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/proxy/proxy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/net/proxy/socks5.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/connection.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/roundtripper.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/upgrade.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/proxy/dial.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/proxy/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/proxy/transport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/pkg/util/proxy/upgradeaware.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/apimachinery/third_party/forked/golang/netutil/addr.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/OWNERS is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/errorstream.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/fallback.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/reader.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/remotecommand.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/resize.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/spdy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/v1.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/v2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/v3.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/v4.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/v5.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/tools/remotecommand/websocket.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/transport/spdy/spdy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/transport/websocket/roundtripper.go is excluded by !**/vendor/**, !vendor/**
  • vendor/k8s.io/client-go/util/exec/exec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (5)
  • test/e2e/helpers_test.go
  • test/e2e/provider_e2e_test.go
  • test/go.mod
  • test/utils/aws_provider_resources.go
  • test/utils/generator_resources.go

Comment on lines +91 to +101
got, err := providerClientset.CoreV1().Namespaces().Create(ctx, namespace, metav1.CreateOptions{})
Expect(err).NotTo(HaveOccurred())
providerTestNamespace = got.GetName()

By("Waiting for operator pod to be ready")
Expect(utils.VerifyPodsReadyByPrefix(ctx, providerClientset, operatorNamespace, []string{
operatorPodPrefix,
})).To(Succeed())

By("Ensuring ExternalSecretsConfig cluster CR exists and is Ready")
Expect(ensureExternalSecretsConfigReady(ctx)).To(Succeed())

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add failure messages to key suite-setup assertions.

Several setup Expect(...).To(Succeed()) calls (e.g., namespace creation, operator/operand readiness, ensureExternalSecretsConfigReady) lack messages, making BeforeAll/BeforeEach failures harder to triage. Adding short messages like "failed to create provider test namespace" improves diagnosability. This pattern recurs throughout the file (e.g., resource creation and readiness waits).

As per coding guidelines: "Flag Ginkgo test assertions that lack meaningful failure messages."

🤖 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 `@test/e2e/provider_e2e_test.go` around lines 91 - 101, Add meaningful failure
messages to the suite-setup assertions in provider_e2e_test.go so Ginkgo
failures are easier to diagnose. Update the key Expect(...).To(Succeed()) calls
around namespace creation, VerifyPodsReadyByPrefix, and
ensureExternalSecretsConfigReady in the setup flow to include short, specific
messages. Apply the same pattern consistently to other resource-creation and
readiness checks in this file, using the surrounding helpers and setup steps as
anchors.

Source: Coding guidelines

Comment on lines +592 to +593
By("Copying AWS credentials")
_ = utils.CopyAWSCredsToNamespace(ctx, providerClientset, providerTestNamespace, awsCredsLocalName)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Swallowed error on credential copy may surface as a confusing downstream failure.

Unlike the AWS Parameter Store context (line 131) which asserts success, here the result of CopyAWSCredsToNamespace is discarded. If the copy fails, the SecretStore/PushSecret steps later in this test will fail with a less obvious error. Prefer asserting success.

🛡️ Proposed fix
-		By("Copying AWS credentials")
-		_ = utils.CopyAWSCredsToNamespace(ctx, providerClientset, providerTestNamespace, awsCredsLocalName)
+		By("Copying AWS credentials")
+		Expect(utils.CopyAWSCredsToNamespace(ctx, providerClientset, providerTestNamespace, awsCredsLocalName)).
+			To(Succeed(), "failed to copy AWS credentials into test namespace")
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
By("Copying AWS credentials")
_ = utils.CopyAWSCredsToNamespace(ctx, providerClientset, providerTestNamespace, awsCredsLocalName)
By("Copying AWS credentials")
Expect(utils.CopyAWSCredsToNamespace(ctx, providerClientset, providerTestNamespace, awsCredsLocalName)).
To(Succeed(), "failed to copy AWS credentials into test namespace")
🤖 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 `@test/e2e/provider_e2e_test.go` around lines 592 - 593, The AWS credential
copy step is discarding the result of CopyAWSCredsToNamespace, which can hide
setup failures and cause later SecretStore/PushSecret checks to fail
confusingly. Update the provider_e2e_test flow to assert that
CopyAWSCredsToNamespace succeeds, matching the earlier AWS Parameter Store setup
pattern, and keep the failure close to the credential-copy step for clearer test
diagnostics.

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown

@siddhibhor-56: 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/prow/verify 3c86f7c link true /test verify
ci/prow/e2e-operator 3c86f7c link true /test e2e-operator

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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant