Skip to content

Commit

Permalink
Merge pull request #411 from MaysaMacedo/fix-retrival-of-lb
Browse files Browse the repository at this point in the history
Bug 1896696: Ensure leftover loadbalancer is cleaned up
  • Loading branch information
openshift-merge-robot committed Dec 2, 2020
2 parents 9aec7a1 + feb8900 commit c64e3d5
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
11 changes: 11 additions & 0 deletions kuryr_kubernetes/controller/drivers/lbaasv2.py
Expand Up @@ -778,6 +778,17 @@ def _post_lb_resource(self, resource, request, **kwargs):
response_dict = response.json()[resource.resource_key]
return resource(**response_dict)

def get_loadbalancers(self, request):
lbaas = clients.get_loadbalancer_client()
resource = o_lb.LoadBalancer
response = lbaas.get(resource.base_path, params=request)
if not response.ok:
LOG.error('Error when retrieving %s: %s', resource.resources_key,
response.text)
response.raise_for_status()
response = response.json()[resource.resources_key]
return response

def _create_loadbalancer(self, loadbalancer):
request = {
'name': loadbalancer.name,
Expand Down
7 changes: 3 additions & 4 deletions kuryr_kubernetes/controller/handlers/lbaas.py
Expand Up @@ -633,7 +633,6 @@ def _sync_lbaas_loadbalancer(self, endpoints, lbaas_state, lbaas_spec):
return changed

def _cleanup_leftover_lbaas(self):
lbaas_client = clients.get_loadbalancer_client()
services = []
try:
services = driver_utils.get_services().get('items')
Expand All @@ -646,11 +645,11 @@ def _cleanup_leftover_lbaas(self):
if service['spec'].get('clusterIP'))
lbaas_spec = {}
self._drv_lbaas.add_tags('loadbalancer', lbaas_spec)
loadbalancers = lbaas_client.load_balancers(**lbaas_spec)
loadbalancers = self._drv_lbaas.get_loadbalancers(lbaas_spec)
for loadbalancer in loadbalancers:
loadbalancer = obj_lbaas.LBaaSLoadBalancer(**loadbalancer)
if loadbalancer.vip_address not in services_cluster_ip:
lb_obj = obj_lbaas.LBaaSLoadBalancer(**loadbalancer)
eventlet.spawn(self._ensure_release_lbaas, lb_obj)
eventlet.spawn(self._ensure_release_lbaas, loadbalancer)

def _ensure_release_lbaas(self, lb_obj):
attempts = 0
Expand Down

0 comments on commit c64e3d5

Please sign in to comment.