-
Notifications
You must be signed in to change notification settings - Fork 621
Issue 3138 - Conformance Tests for BackendTLSPolicy - normative #3212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue 3138 - Conformance Tests for BackendTLSPolicy - normative #3212
Conversation
|
Skipping CI for Draft Pull Request. |
76c8e10 to
6d9ab9e
Compare
|
/test pull-gateway-api-verify |
1 similar comment
|
/test pull-gateway-api-verify |
0ec34a8 to
75551a0
Compare
|
/test pull-gateway-api-verify |
75551a0 to
7626aaa
Compare
|
/test pull-gateway-api-verify |
7626aaa to
1bc71f0
Compare
|
/test pull-gateway-api-verify |
1bc71f0 to
99e7eac
Compare
|
/test pull-gateway-api-verify |
99e7eac to
b774245
Compare
|
/test pull-gateway-api-verify |
b774245 to
91488aa
Compare
|
/test pull-gateway-api-verify |
|
/test pull-gateway-api-test |
Fix certificate unit test.
# Conflicts: # conformance/utils/http/http.go
Add conformance profiles to logged information.
Remove echo-basic changes, fix cert building, and adjust the port used for gateways with multiple listeners Co-authored-by: Norwin Schnyder <[email protected]>
8a88f1f to
2d91cd1
Compare
robscott
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all the work on this @candita! This is a great foundation for these tests, and I'm excited to see what else we can add from here in the next couple of weeks. I'll leave a hold on here until you're able to make some follow up issues for the items we're leaving for follow ups from this PR. Please go ahead and remove that hold once we have issues in place.
/lgtm
/approve
/hold
| kubernetes.NamespacesMustBeReady(t, suite.Client, suite.TimeoutConfig, []string{ns}) | ||
| gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAcceptedMultipleListeners(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN) | ||
| kubernetes.HTTPRouteMustHaveResolvedRefsConditionsTrue(t, suite.Client, suite.TimeoutConfig, routeNN, gwNN) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, a follow up issue would be helpful
|
|
||
| const ( | ||
| // This option indicates support for BackendTLSPolicy. | ||
| SupportBackendTLSPolicy FeatureName = "BackendTLSPolicy" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An optional part of Gateway HTTP profile seems reasonable to me here, but you have more insight on how conformance profiles should work.
| port: 443 | ||
| targetPort: 8443 | ||
| --- | ||
| # Deployment must not be applied until after the secret is generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, would strongly prefer these workloads be deployed separately, likely as part of the base set of resources.
candita
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/unhold
| kind: Gateway | ||
| metadata: | ||
| name: gateway-backendtlspolicy | ||
| namespace: gateway-conformance-infra |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fwiw, BackendTLSPolicy is moving to standard in this release.
| port: 443 | ||
| targetPort: 8443 | ||
| --- | ||
| # Deployment must not be applied until after the secret is generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you mean move this from here to conformance/base/manifests.yaml, I hope you don't mind if I do that as a followup task. I'm still not certain on the reason though.
| kubernetes.NamespacesMustBeReady(t, suite.Client, suite.TimeoutConfig, []string{ns}) | ||
| gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAcceptedMultipleListeners(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN) | ||
| kubernetes.HTTPRouteMustHaveResolvedRefsConditionsTrue(t, suite.Client, suite.TimeoutConfig, routeNN, gwNN) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow up issue: #3933
| port: 443 | ||
| targetPort: 8443 | ||
| --- | ||
| # Deployment must not be applied until after the secret is generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow up issue: #3934
| features.SupportHTTPRoute, | ||
| features.SupportBackendTLSPolicy, | ||
| }, | ||
| Manifests: []string{"tests/backendtlspolicy.yaml"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow up: #3935
|
|
||
| const ( | ||
| // This option indicates support for BackendTLSPolicy. | ||
| SupportBackendTLSPolicy FeatureName = "BackendTLSPolicy" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow-up issue: #3936
|
/label tide/merge-method-squash |
|
[APPROVALNOTIFIER] This PR is APPROVED Approval requirements bypassed by manually added approval. This pull-request has been approved by: candita The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…rnetes-sigs#3212) * Issue 3138 - add normative conformance test for BackendTLSPolicy. * Fix where the new go module needed by echo-basic resides, but keep the original as well. See https://github.com/kubernetes-sigs/gateway-api/pull/2745/files#diff-cf5b4a9b433acc91f8c7cc2dc802e29aa712c8d820887742f3bc5ae45b7a9d0fR24-R28 * Rebase and make requested updates. * Update tests after implementation testing conformance/base/manifests.yaml - fix yaml conformance/tests/backendtlspolicy.yaml - fix yaml conformance/tests/tlsroute-simple-same-namespace.go - rename cert for sharing conformance/utils/suite/conformance.go - fix a bug in cleanup-base-resources flag application conformance/utils/suite/suite.go - rename cert for sharing * Incorporate Shane and Flynn's feedback * Add unit testing for generateCACert, new HTTPS call, some debugging, and fix yaml * Update echo-basic images * Fix lint errors and condition evaluation in tests * Fix yaml for httpRoute and backendTLSPolicy. Fix CA generation. Fix certificate unit test. * Refactor test, fix yaml * Fix the tests for normative BackendTLSPolicy # Conflicts: # conformance/utils/http/http.go * Make changes from review comments. Add conformance profiles to logged information. * Address further review comments * Address review comments: Remove echo-basic changes, fix cert building, and adjust the port used for gateways with multiple listeners Co-authored-by: Norwin Schnyder <[email protected]> * Address the last of the review comments --------- Co-authored-by: Norwin Schnyder <[email protected]>
What type of PR is this?
/kind test
/area conformance
What this PR does / why we need it:
Add a normative test of Gateway API BackendTLSPolicy implementations.
Which issue(s) this PR fixes:
Fixes #3138
Does this PR introduce a user-facing change?: