Skip to content

Commit

Permalink
Add some FIXME comments to loadbalancer tests
Browse files Browse the repository at this point in the history
  • Loading branch information
danwinship committed May 9, 2024
1 parent 3d0de5a commit 3fbcd32
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions test/e2e/network/loadbalancer.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,8 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() {
}
framework.Logf("TCP node port: %d", tcpNodePort)

// FIXME: we change the NodePort but then connect via LB IP, but some LBs
// don't use the NodePort anyway.
ginkgo.By("hitting the TCP service's LoadBalancer")
e2eservice.TestReachableHTTP(ctx, tcpIngressIP, svcPort, loadBalancerLagTimeout)

Expand Down Expand Up @@ -246,6 +248,8 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() {
err = tcpJig.Scale(ctx, 1)
framework.ExpectNoError(err)

// FIXME: the UDP version below tests reachability via NodePort here as well

ginkgo.By("hitting the TCP service's LoadBalancer")
e2eservice.TestReachableHTTP(ctx, tcpIngressIP, svcPort, loadBalancerLagTimeout)

Expand Down Expand Up @@ -798,6 +802,13 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() {
e2epod.SetNodeSelection(&serverPod2.Spec, nodeSelection)
e2epod.NewPodClient(f).CreateSync(ctx, serverPod2)

// FIXME: this test is supposed to ensure that "a LoadBalancer UDP service
// doesn't blackhole the traffic to the node when the pod backend is
// destroyed and the traffic has to fall back to another pod", but it's
// possible that a connection to backend 2 will succeed at this point
// before backend 1 is deleted, in which case no further successful
// connections are required to pass.

// and delete the first pod
framework.Logf("Cleaning up %s pod", podBackend1)
e2epod.NewPodClient(f).DeleteSync(ctx, podBackend1, metav1.DeleteOptions{}, e2epod.DefaultPodDeletionTimeout)
Expand Down Expand Up @@ -930,6 +941,13 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() {
e2epod.SetNodeSelection(&serverPod2.Spec, nodeSelection)
e2epod.NewPodClient(f).CreateSync(ctx, serverPod2)

// FIXME: this test is supposed to ensure that "a LoadBalancer UDP service
// doesn't blackhole the traffic to the node when the pod backend is
// destroyed and the traffic has to fall back to another pod", but it's
// possible that a connection to backend 2 will succeed at this point
// before backend 1 is deleted, in which case no further successful
// connections are required to pass.

// and delete the first pod
framework.Logf("Cleaning up %s pod", podBackend1)
e2epod.NewPodClient(f).DeleteSync(ctx, podBackend1, metav1.DeleteOptions{}, e2epod.DefaultPodDeletionTimeout)
Expand Down Expand Up @@ -968,11 +986,6 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() {
})

var _ = common.SIGDescribe("LoadBalancers ExternalTrafficPolicy: Local", feature.LoadBalancer, framework.WithSlow(), func() {
// FIXME: What are the expected semantics of requesting an
// "ExternalTrafficPolicy: Local" service from a cloud provider that does not
// support that? What are the expected semantics of "ExternalTrafficPolicy: Local"
// on `IPMode: Proxy`-type LoadBalancers?

f := framework.NewDefaultFramework("esipp")
f.NamespacePodSecurityLevel = admissionapi.LevelBaseline
var loadBalancerCreateTimeout time.Duration
Expand Down

0 comments on commit 3fbcd32

Please sign in to comment.