Can't delete Azure loadbalancer created by OpenShift

Solution Verified - Updated -

Environment

  • Red Hat OpenShift Container Platform (OCP) 3.11

Issue

After creating a Load Balancer service on an OpenShift Cluster Platform 3.11, deployed on Azure, a load balancer is created in the Azure Console, but this can't be removed in Azure even if the service is removed on OpenShift.

Resolution

The impossibility to remove the Azure load balancer is caused by a known bug: below the procedure in order to workaround the issue and remove the object.

  1. Access each master controller node using ssh
  2. Restart the controllers - one at the time - with the command below:

    # /usr/local/bin/master-restart controllers
    
  3. Log into the Azure Console and delete the load balancer

Root Cause

This is a known bug, Red Hat has determined that at this time we do not plan fix the issue.
If you need assistance on this issue please contact your support representative.

Diagnostic Steps

Collect master controller logs with the command below:

# /usr/local/bin/master-logs controllers controllers &> /tmp/`hostname -f`-controllers.log`

In the master controller log now present at /tmp/hostname-controllers.log will be possible to find the errors below:

I0418 17:05:08.625554       1 service_controller.go:731] Service has been deleted x/jaeger-query. Attempting to cleanup load balancer resources
I0418 17:05:08.625636       1 azure_loadbalancer.go:165] Delete service (x/jaeger-query): START clusterName=
I0418 17:05:08.625751       1 event.go:221] Event(v1.ObjectReference{Kind:"Service", Namespace:"x", Name:"jaeger-query", UID:"dc5fdd9e-7e37-11ea-bfa6-000d3abb7aae", APIVersion:"v1", ResourceVersion:"1879644", FieldPath:""}): type: 'Normal' reason: 'DeletingLoadBalancer' Deleting load balancer
I0418 17:05:08.706700       1 azure_loadbalancer.go:381] getServiceLoadBalancerStatus gets ingress IP "x.x.x.x" from frontendIPConfiguration "adc5fdd9e7e3711eabfa6000d3abb7aa" for service "x/jaeger-query"
I0418 17:05:08.706739       1 azure_loadbalancer.go:169] EnsureLoadBalancerDeleted: ignoring StatusNotFound error because the resource doesn't exist (<nil>)
I0418 17:05:08.706745       1 azure_loadbalancer.go:186] EnsureLoadBalancerDeleted: reconciling security group for service "x/jaeger-query" with IP "x.x.x.x", wantLb = false
I0418 17:05:08.706760       1 azure_loadbalancer.go:903] reconcileSecurityGroup(x/jaeger-query): START clusterName="kubernetes"
I0418 17:05:08.706807       1 service_controller.go:718] Finished syncing service "x/jaeger-query" (81.277665ms)
E0418 17:05:08.706832       1 service_controller.go:219] error processing service x/jaeger-query (will retry): securityGroupName is not configured
I0418 17:05:08.706867       1 event.go:221] Event(v1.ObjectReference{Kind:"Service", Namespace:"x", Name:"jaeger-query", UID:"dc5fdd9e-7e37-11ea-bfa6-000d3abb7aae", APIVersion:"v1", ResourceVersion:"1879644", FieldPath:""}): type: 'Warning' reason: 'DeletingLoadBalancerFailed' Error deleting load balancer (will retry): securityGroupName is not configured

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments