mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-11 22:20:18 +00:00
Add LoadBalancer status to ServiceStatus
This will replace publicIPs
This commit is contained in:
@@ -289,10 +289,14 @@ var _ = Describe("Services", func() {
|
||||
// currently indicated by a public IP address being added to the spec.
|
||||
result, err = waitForPublicIPs(c, serviceName, ns)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
if len(result.Spec.PublicIPs) != 1 {
|
||||
Failf("got unexpected number (%d) of public IPs for externally load balanced service: %v", result.Spec.PublicIPs, result)
|
||||
if len(result.Status.LoadBalancer.Ingress) != 1 {
|
||||
Failf("got unexpected number (%v) of ingress points for externally load balanced service: %v", result.Status.LoadBalancer.Ingress, result)
|
||||
}
|
||||
ingress := result.Status.LoadBalancer.Ingress[0]
|
||||
ip := ingress.IP
|
||||
if ip == "" {
|
||||
ip = ingress.Hostname
|
||||
}
|
||||
ip := result.Spec.PublicIPs[0]
|
||||
port := result.Spec.Ports[0].Port
|
||||
|
||||
pod := &api.Pod{
|
||||
@@ -370,7 +374,7 @@ var _ = Describe("Services", func() {
|
||||
},
|
||||
}
|
||||
|
||||
publicIPs := []string{}
|
||||
ingressPoints := []string{}
|
||||
for _, namespace := range namespaces {
|
||||
for _, serviceName := range serviceNames {
|
||||
service.ObjectMeta.Name = serviceName
|
||||
@@ -389,10 +393,16 @@ var _ = Describe("Services", func() {
|
||||
for _, serviceName := range serviceNames {
|
||||
result, err := waitForPublicIPs(c, serviceName, namespace)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
publicIPs = append(publicIPs, result.Spec.PublicIPs...) // Save 'em to check uniqueness
|
||||
for i := range result.Status.LoadBalancer.Ingress {
|
||||
ingress := result.Status.LoadBalancer.Ingress[i].IP
|
||||
if ingress == "" {
|
||||
ingress = result.Status.LoadBalancer.Ingress[i].Hostname
|
||||
}
|
||||
ingressPoints = append(ingressPoints, ingress) // Save 'em to check uniqueness
|
||||
}
|
||||
}
|
||||
}
|
||||
validateUniqueOrFail(publicIPs)
|
||||
validateUniqueOrFail(ingressPoints)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -406,12 +416,12 @@ func waitForPublicIPs(c *client.Client, serviceName, namespace string) (*api.Ser
|
||||
Logf("Get service failed, ignoring for 5s: %v", err)
|
||||
continue
|
||||
}
|
||||
if len(service.Spec.PublicIPs) > 0 {
|
||||
if len(service.Status.LoadBalancer.Ingress) > 0 {
|
||||
return service, nil
|
||||
}
|
||||
Logf("Waiting for service %s in namespace %s to have a public IP (%v)", serviceName, namespace, time.Since(start))
|
||||
Logf("Waiting for service %s in namespace %s to have an ingress point (%v)", serviceName, namespace, time.Since(start))
|
||||
}
|
||||
return service, fmt.Errorf("service %s in namespace %s doesn't have a public IP after %.2f seconds", serviceName, namespace, timeout.Seconds())
|
||||
return service, fmt.Errorf("service %s in namespace %s doesn't have an ingress point after %.2f seconds", serviceName, namespace, timeout.Seconds())
|
||||
}
|
||||
|
||||
func validateUniqueOrFail(s []string) {
|
||||
|
Reference in New Issue
Block a user