-
Notifications
You must be signed in to change notification settings - Fork 563
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
base: main
Are you sure you want to change the base?
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 |
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.
Same here: I think we should reuse the tls-backend
. We can still create a dedicated copy of its Service for this test to avoid interference with other test cases.
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.
This deployment has new environment variables and volume for CA cert. I didn't want to edit an existing deployment and have to try to predict whether that would cause problems in the other tests. I have limited time to work on this and running one conformance test in isolation without changing/breaking others is my preference. Again, if anyone wants to come and optimize that later, it would be great.
- name: CA_CERT
value: /etc/ca-volume/crt
- name: CA_CERT_KEY
value: /etc/ca-volume/key
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.
When it comes to testing workload, we should deploy them separately. I don't think we do have a precedent test that deploys workloads. If we need ad-hoc configuration for this that's fine, but we should at least deploy it as part of the infra.
305dee7
to
dc99c42
Compare
@snorwin @robscott @youngnick @shaneutt - there are one or two non-trivial but not necessarily critical requests remaining that I won't be able to address right away, but I would like to merge this asap so that @kl52752 can start working on subsequent conformance tests. See #3212 (comment), and also the requests to consolidate Gateway and Deployment objects. I don't have the bandwidth to make those changes and hope we can address them later. I also added an update to #3212 (comment) and #3212 (comment) for @shaneutt PTAL and merge asap for @kl52752 . Thank you. |
48f5ba2
to
1d028f0
Compare
@candita That is fine for me, I’m happy to proceed with the suggestion I proposed and will create follow-up PRs for it. |
/lgtm |
@kl52752: changing LGTM is restricted to collaborators In 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. |
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.
Manifests: []string{"tests/backendtlspolicy.yaml"}, | |
Provisional: true | |
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.
@mlavacca what does this mean? The feature is implementable and moving to standard in v1.4.
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.
I'm fine with putting this off, but can we at least add a TODO comment to be sure we don't forget?
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.
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.
When it comes to testing workload, we should deploy them separately. I don't think we do have a precedent test that deploys workloads. If we need ad-hoc configuration for this that's fine, but we should at least deploy it as part of the infra.
|
||
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.
I think we shoul consider whether to include this in the GATEWAY-HTTP profile or create a dedicated conf profile for it. I lean for the latter, but am curious to hear your opinion here.
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: candita The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
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.
Following our community call today, there are individuals eager to try these tests. While we recognize there's more work to be done, we can test and iterate since this isn't user-facing.
/approve
BackendTLSPolicy.
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
call, some debugging, and fix yaml
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
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?: