@@ -264,7 +264,7 @@ func (s *Service) ReconcileLoadBalancerMember(clusterName string, machine *clust
264264 return nil
265265}
266266
267- func (s * Service ) DeleteLoadBalancerMember (clusterName string , machine * clusterv1.Machine , clusterProviderStatus * providerv1.OpenstackClusterProviderStatus ) error {
267+ func (s * Service ) DeleteLoadBalancerMember (clusterName string , machine * clusterv1.Machine , clusterProviderSpec * providerv1. OpenstackClusterProviderSpec , clusterProviderStatus * providerv1.OpenstackClusterProviderStatus ) error {
268268
269269 if machine == nil || ! util .IsControlPlaneMachine (machine ) {
270270 return nil
@@ -275,14 +275,20 @@ func (s *Service) DeleteLoadBalancerMember(clusterName string, machine *clusterv
275275
276276 lbID := clusterProviderStatus .Network .APIServerLoadBalancer .ID
277277
278- for _ , port := range []int {22 , 6443 } {
278+ portList := []int {clusterProviderSpec .APIServerLoadBalancerPort }
279+ portList = append (portList , clusterProviderSpec .APIServerLoadBalancerAdditionalPorts ... )
280+ for _ , port := range portList {
279281 lbPortObjectsName := fmt .Sprintf ("%s-%d" , loadBalancerName , port )
280282 name := lbPortObjectsName + "-" + machine .Name
281283
282284 pool , err := checkIfPoolExists (s .loadbalancerClient , lbPortObjectsName )
283285 if err != nil {
284286 return err
285287 }
288+ if pool == nil {
289+ klog .Infof ("Pool %s does not exist" , lbPortObjectsName )
290+ continue
291+ }
286292
287293 lbMember , err := checkIfLbMemberExists (s .loadbalancerClient , pool .ID , name )
288294 if err != nil {
0 commit comments