From 4a95f301296baec29444eaea4a72d72eca053864 Mon Sep 17 00:00:00 2001 From: Jesse Haka Date: Tue, 27 Dec 2022 16:02:43 +0200 Subject: [PATCH] Fix ingress status for loadbalancers that does not have publicname --- upup/pkg/fi/cloudup/openstack/cloud.go | 41 ++++++++++++++------------ 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/upup/pkg/fi/cloudup/openstack/cloud.go b/upup/pkg/fi/cloudup/openstack/cloud.go index 0c04076e77..0ce63b9209 100644 --- a/upup/pkg/fi/cloudup/openstack/cloud.go +++ b/upup/pkg/fi/cloudup/openstack/cloud.go @@ -717,32 +717,35 @@ func getApiIngressStatus(c OpenstackCloud, cluster *kops.Cluster) ([]fi.ApiIngre func getLoadBalancerIngressStatus(c OpenstackCloud, cluster *kops.Cluster) ([]fi.ApiIngressStatus, error) { var ingresses []fi.ApiIngressStatus + lbName := "api." + cluster.Name if cluster.Spec.API.PublicName != "" { - // Note that this must match OpenstackModel lb name - klog.V(2).Infof("Querying Openstack to find Loadbalancers for API (%q)", cluster.Name) - lbList, err := c.ListLBs(loadbalancers.ListOpts{ - Name: cluster.Spec.API.PublicName, + lbName = cluster.Spec.API.PublicName + } + // Note that this must match OpenstackModel lb name + klog.V(2).Infof("Querying Openstack to find Loadbalancers for API (%q)", cluster.Name) + lbList, err := c.ListLBs(loadbalancers.ListOpts{ + Name: lbName, + }) + if err != nil { + return ingresses, fmt.Errorf("GetApiIngressStatus: Failed to list openstack loadbalancers: %v", err) + } + for _, lb := range lbList { + // Must Find Floating IP related to this lb + fips, err := c.ListL3FloatingIPs(l3floatingip.ListOpts{ + PortID: lb.VipPortID, }) if err != nil { - return ingresses, fmt.Errorf("GetApiIngressStatus: Failed to list openstack loadbalancers: %v", err) + return ingresses, fmt.Errorf("GetApiIngressStatus: Failed to list floating IP's: %v", err) } - for _, lb := range lbList { - // Must Find Floating IP related to this lb - fips, err := c.ListL3FloatingIPs(l3floatingip.ListOpts{ - PortID: lb.VipPortID, - }) - if err != nil { - return ingresses, fmt.Errorf("GetApiIngressStatus: Failed to list floating IP's: %v", err) - } - for _, fip := range fips { - if fip.PortID == lb.VipPortID { - ingresses = append(ingresses, fi.ApiIngressStatus{ - IP: fip.FloatingIP, - }) - } + for _, fip := range fips { + if fip.PortID == lb.VipPortID { + ingresses = append(ingresses, fi.ApiIngressStatus{ + IP: fip.FloatingIP, + }) } } } + return ingresses, nil }