-
Notifications
You must be signed in to change notification settings - Fork 38.7k
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
Fix LoadBalancer tests to be provider-agnostic #124660
Fix LoadBalancer tests to be provider-agnostic #124660
Conversation
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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/test-infra repository. |
95ec5b4
to
24c4738
Compare
So all of the UDP LoadBalancer tests failed (which is a known bug, kubernetes-sigs/cloud-provider-kind#58), and most of the SessionAffinity tests. ("should have session affinity work for LoadBalancer service with Local traffic policy" passed, but none of the others did.) |
/test pull-kubernetes-e2e-kind-cloud-provider-loadbalancer |
/test pull-kubernetes-e2e-kind-cloud-provider-loadbalancer |
great, we moved from
To only
This will not pass as the loadbalancer is type proxy, so it will always replace the source ip, we may try to use something like this https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/ip_transparency#original-source-listener-filter but it may not work in all environments
The UDP one fails because is waiting for a rejection and we have discussed the same for TCP, is not clear we can impose this behavior for loadbalancers in general) kubernetes/test/e2e/network/service.go Lines 609 to 621 in 4878acc
|
with diff --git a/test/e2e/network/loadbalancer.go b/test/e2e/network/loadbalancer.go
index e68e9153d11..08896bbecae 100644
--- a/test/e2e/network/loadbalancer.go
+++ b/test/e2e/network/loadbalancer.go
@@ -495,8 +495,8 @@ var _ = common.SIGDescribe("LoadBalancers", ginkgo.Serial, func() {
err = udpJig.Scale(ctx, 0)
framework.ExpectNoError(err)
- ginkgo.By("looking for ICMP REJECT on the UDP service's LoadBalancer")
- testRejectedUDP(udpIngressIP, svcPort, loadBalancerCreateTimeout)
+ ginkgo.By("UDP service's LoadBalancer should not be reachable")
+ testNotReachableUDP(udpIngressIP, svcPort, loadBalancerCreateTimeout)
ginkgo.By("Scaling the pods to 1")
err = udpJig.Scale(ctx, 1) for the other test |
The e2e test should check the LoadBalancerStatus and belatedly skip the test in that case. (If either |
24c4738
to
ceb3b99
Compare
ceb3b99
to
6895e66
Compare
great , those two tests that are failing now will be fixed once we make them aware of the proxy mode as Dan says in previous comment and we implement that in cloud-provider-kind kubernetes-sigs/cloud-provider-kind#63
|
@danwinship please re-add the entire |
(No changes from before they were deleted, and thus they don't actually compile because of missing provider code.)
13af98f
to
86fd37f
Compare
@@ -926,7 +926,7 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() { | |||
}) | |||
}) | |||
|
|||
var _ = common.SIGDescribe("LoadBalancers ESIPP", feature.LoadBalancer, framework.WithSlow(), func() { | |||
var _ = common.SIGDescribe("LoadBalancers ExternalTrafficPolicy: Local", feature.LoadBalancer, framework.WithSlow(), func() { |
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.
(FTR I'm doing this now just to keep all (most?) of the renaming in one PR; I didn't want people updating their CI configs to skip all the "ESIPP" tests and then have us rename them later...)
@danwinship linter error
|
86fd37f
to
6162142
Compare
6162142
to
67e0c51
Compare
@danwinship: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. |
/test pull-kubernetes-e2e-gce-100-performance |
/retest-required |
/test pull-kubernetes-e2e-gce-100-performance |
@aojea what are you running the perf test for? |
wrong ones sorry, I wanted to check kubernetes/test-infra#32585 /lgtm Let's iterate |
LGTM label has been added. Git tree hash: a8e87178b1c683203d68ba3d524f8f3984407eea
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aojea, danwinship 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 |
What this PR does / why we need it:
Drops all the provider checks from the LoadBalancer tests and instead just marks them all
[Feature:LoadBalancer]
. We will need corresponding updates in test-infra...At the moment it doesn't make any attempt to distinguish between what different LoadBalancer-supporting platforms support (#123714). People who want to run them will have to just manually
--ginkgo.skip
the tests they can't pass for now.(Note: originally this PR was about trying to get the LB tests to pass under cloud-provider-kind, but now it is just about re-enabling them on GCE.)
Which issue(s) this PR fixes:
Fixes #124338
Does this PR introduce a user-facing change?
/kind cleanup
/sig network
/priority important-soon
/assign @aojea