1
0
Fork 0

Fix fenced server status computation

Co-authored-by: Romain <rtribotte@users.noreply.github.com>
This commit is contained in:
Kevin Pollet 2024-12-20 11:26:04 +01:00 committed by GitHub
parent 68a8650297
commit a29628fa2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 113 additions and 9 deletions

View file

@ -31,17 +31,22 @@ endpoints:
- 10.10.0.2
conditions:
ready: true
serving: true
terminating: false
- addresses:
- 10.10.0.3
- 10.10.0.4
conditions:
ready: false
serving: true
terminating: true
- addresses:
- 10.10.0.5
- 10.10.0.6
conditions:
ready: true
ready: false
serving: false
terminating: true
---
apiVersion: traefik.io/v1alpha1

View file

@ -559,7 +559,7 @@ func (c configBuilder) loadServers(parentNamespace string, svc traefikv1alpha1.L
addresses[address] = struct{}{}
servers = append(servers, dynamic.Server{
URL: fmt.Sprintf("%s://%s", protocol, net.JoinHostPort(address, strconv.Itoa(int(port)))),
Fenced: ptr.Deref(endpoint.Conditions.Serving, false),
Fenced: ptr.Deref(endpoint.Conditions.Terminating, false) && ptr.Deref(endpoint.Conditions.Serving, false),
})
}
}

View file

@ -4751,12 +4751,6 @@ func TestLoadIngressRoutes(t *testing.T) {
URL: "http://10.10.0.4:80",
Fenced: true,
},
{
URL: "http://10.10.0.5:80",
},
{
URL: "http://10.10.0.6:80",
},
},
PassHostHeader: pointer(true),
ResponseForwarding: &dynamic.ResponseForwarding{