test: add hermetic coverage for standalone mode#2175
test: add hermetic coverage for standalone mode#2175k8s-ci-robot merged 1 commit intokubernetes-sigs:mainfrom
Conversation
This adds hermetic integration tests for the EPP Standalone deployment mode. Previously, the suite only exercised the Standard (CRD-based) path, leaving the static configuration logic vulnerable to regressions. The test harness is updated with `WithStandaloneMode` to simulate CLI-based configuration and disable CRD watchers. Hermetic tests now execute table-driven permutations to verify behavior in both Standard and Standalone modes.
|
@LukeAVanDrie: The label(s) 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. |
✅ Deploy Preview for gateway-api-inference-extension ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
/assign @capri-xiyue |
| require ( | ||
| github.com/go-logr/zapr v1.3.0 | ||
| github.com/spf13/pflag v1.0.10 | ||
| go.opentelemetry.io/otel/trace v1.39.0 |
There was a problem hiding this comment.
I'm not sure actually. I ran go mod tidy and this continuously gets applied, but I do not think this should be triggered by my delta.
| for _, tc := range tests { | ||
| t.Run(tc.name, func(t *testing.T) { | ||
| if mode.standalone && tc.requiresCRDs { | ||
| t.Skipf("Skipping test %q: requires CRDs, but running in Standalone mode", tc.name) |
There was a problem hiding this comment.
@capri-xiyue I expect to support standalone with inference CRDs, standalone can have two modes of operation, one with the Inference* CRDs (a richer mode of operation that allows using InfObj for example) and one without (using pod selector and completely decoupled from all CRDs). The stable thing in standalone is running without the Gateway API dependency.
There was a problem hiding this comment.
mode.standalone may have been a misunderstanding on my part. You can consider this PR covering:
one without (using pod selector and completely decoupled from all CRDs)
We can add a third harness for standalone w/ CRDs.
There was a problem hiding this comment.
Got it. I agree that we can add a third harness for standalone w/ CRDs.
There was a problem hiding this comment.
ok, @capri-xiyue can you pls add that in a follow up PR?
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahg-g, capri-xiyue, LukeAVanDrie 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 |
This adds hermetic integration tests for the EPP Standalone deployment mode. Previously, the suite only exercised the Standard (CRD-based) path, leaving the static configuration logic vulnerable to regressions. The test harness is updated with `WithStandaloneMode` to simulate CLI-based configuration and disable CRD watchers. Hermetic tests now execute table-driven permutations to verify behavior in both Standard and Standalone modes.
…way-api-inference-extension#2175) This adds hermetic integration tests for the EPP Standalone deployment mode. Previously, the suite only exercised the Standard (CRD-based) path, leaving the static configuration logic vulnerable to regressions. The test harness is updated with `WithStandaloneMode` to simulate CLI-based configuration and disable CRD watchers. Hermetic tests now execute table-driven permutations to verify behavior in both Standard and Standalone modes.
…way-api-inference-extension#2175) This adds hermetic integration tests for the EPP Standalone deployment mode. Previously, the suite only exercised the Standard (CRD-based) path, leaving the static configuration logic vulnerable to regressions. The test harness is updated with `WithStandaloneMode` to simulate CLI-based configuration and disable CRD watchers. Hermetic tests now execute table-driven permutations to verify behavior in both Standard and Standalone modes.
What type of PR is this?
/kind test
What this PR does / why we need it:
This PR adds hermetic integration test coverage for the EPP Standalone Mode.
Recently, a regression in Standalone mode startup logic (fixed in #2092) went undetected because existing integration tests only exercised the Standard (CRD-based) mode. This PR bridges that gap by:
test/integration/epp/harness.gowithWithStandaloneMode(). This simulates the CLI-based configuration path by injecting a staticEndpointPooland disabling Gateway API CRD watchers.hermetic_test.goto run test permutations in bothStandardandStandalonemodes using a table-driven approach.wrappers.goto ensure consistency between the harness and mock pod definitions.Which issue(s) this PR fixes:
Fixes #2091
Does this PR introduce a user-facing change?: