From 643afd3ffcc51c4694ffcfd9dab654253d590259 Mon Sep 17 00:00:00 2001 From: FengyunPan Date: Fri, 30 Jun 2017 18:55:53 +0800 Subject: [PATCH] Fix deleting empty monitors Fix #48094 When create-monitor of cloud-config is false, pool has not monitor and can not delete empty monitor. --- .../providers/openstack/openstack_loadbalancer.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go b/pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go index 413e7750288..0de9803008a 100644 --- a/pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go +++ b/pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go @@ -763,9 +763,13 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *v1.Serv } waitLoadbalancerActiveProvisioningStatus(lbaas.network, loadbalancer.ID) monitorID = monitor.ID + } else if lbaas.opts.CreateMonitor == false { + glog.V(4).Infof("Do not create monitor for pool %s when create-monitor is false", pool.ID) } - glog.V(4).Infof("Monitor for pool %s: %s", pool.ID, monitorID) + if monitorID != "" { + glog.V(4).Infof("Monitor for pool %s: %s", pool.ID, monitorID) + } } // All remaining listeners are obsolete, delete @@ -1106,7 +1110,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1. return fmt.Errorf("Error getting pool for listener %s: %v", listener.ID, err) } poolIDs = append(poolIDs, pool.ID) - monitorIDs = append(monitorIDs, pool.MonitorID) + // If create-monitor of cloud-config is false, pool has not monitor. + if pool.MonitorID != "" { + monitorIDs = append(monitorIDs, pool.MonitorID) + } } // get all members associated with each poolIDs