You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Pass GatewayWithAttachedRoutes and GatewayWithAttachedRoutesWithPort8080 conformance tests #633
We are running (and passing) some conformance tests in tests/e2e/conformance_test.go.
Let's enhance our Gateway API implementation to pass two more tests: tests.GatewayWithAttachedRoutes and tests.GatewayWithAttachedRoutesWithPort8080 (and add them to the list of tests in tests/e2e/conformance_test.go).
These check status.listeners[].attachedRoutes:
it counts only routes that are actually accepted by that listener (a route with a non-matching hostname must not count, and its parent status should have reason NoMatchingListenerHostname);
it is still set when the Gateway has unresolved refs (e.g. a missing certificate Secret);
with sectionName, only the named listener counts the route (the Port8080 variant uses a listener on port 8080).
These were never added to the list, so they may already pass, or be close. Run them first and only fix what fails.
Depends on #624 (per-Gateway data plane), which changes how listener ports reach the data plane. Please don't start until it has merged.
Acceptance criteria
Both tests are added to selectedTests and pass under ap e2e, along with the rest of the suite.
If any code changes are needed, add table-driven unit tests in pkg/state for attachedRoutes. Each case should fail without the change. The cases:
a route whose hostnames don't intersect the listener's is not counted;
a Gateway with an unresolved certificateRef still reports attachedRoutes;
a route with sectionName is counted only on the named listener.
Limits
attachedRoutes is computed in ComputeOutputs (pkg/state). Keep it there; don't count routes in a reconciler.
Don't change pkg/provisioning. A listener on port 8080 should already get a Service port from the effective listeners. If it doesn't, describe the problem in the PR rather than working around it.
Please follow the skill .agents/skills/implement-conformance-test/SKILL.md . Keep a journal in .agents/skills/implement-conformance-test/journal/.md ; only when we see a pattern in the journal files should we "promote" that information into the skill.
Be sure to verify the implementation passes the tests by running ap e2e before submitting.
Activity