Skip to content

Commit

Permalink
Merge pull request #8147 from mitch000001/automated-cherry-pick-of-#8…
Browse files Browse the repository at this point in the history
…115-origin-release-1.16

Automated cherry pick of #8115 Openstack: Fix cluster floating ips
  • Loading branch information
k8s-ci-robot committed Dec 18, 2019
2 parents 25315c4 + db59fdf commit e293496
Show file tree
Hide file tree
Showing 3 changed files with 518 additions and 9 deletions.
17 changes: 16 additions & 1 deletion upup/pkg/fi/cloudup/openstack/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
name = "go_default_library",
Expand Down Expand Up @@ -66,3 +66,18 @@ go_library(
"//vendor/k8s.io/klog:go_default_library",
],
)

go_test(
name = "go_default_test",
srcs = ["cloud_test.go"],
embed = [":go_default_library"],
deps = [
"//pkg/apis/kops:go_default_library",
"//vendor/github.com/gophercloud/gophercloud:go_default_library",
"//vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/floatingips:go_default_library",
"//vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers:go_default_library",
"//vendor/github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/loadbalancers:go_default_library",
"//vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/floatingips:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
],
)
17 changes: 9 additions & 8 deletions upup/pkg/fi/cloudup/openstack/cloud.go
Original file line number Diff line number Diff line change
Expand Up @@ -636,17 +636,18 @@ func (c *openstackCloud) GetApiIngressStatus(cluster *kops.Cluster) ([]kops.ApiI
if err != nil {
return ingresses, fmt.Errorf("GetApiIngressStatus: Failed to list openstack loadbalancers: %v", err)
}
// Must Find Floating IP related to this lb
fips, err := c.ListFloatingIPs()
if err != nil {
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.FixedIP == lb.VipAddress {
if fip.PortID == lb.VipPortID {
ingresses = append(ingresses, kops.ApiIngressStatus{
IP: fip.IP,
IP: fip.FloatingIP,
})
}
}
Expand Down
Loading

0 comments on commit e293496

Please sign in to comment.