@@ -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
@@ -274,14 +274,20 @@ func (s *Service) DeleteLoadBalancerMember(clusterName string, machine *clusterv
274274
275275 lbID := clusterProviderStatus .Network .APIServerLoadBalancer .ID
276276
277- for _ , port := range []int {22 , 6443 } {
277+ portList := []int {clusterProviderSpec .APIServerLoadBalancerPort }
278+ portList = append (portList , clusterProviderSpec .APIServerLoadBalancerAdditionalPorts ... )
279+ for _ , port := range portList {
278280 lbPortObjectsName := fmt .Sprintf ("%s-%d" , loadBalancerName , port )
279281 name := lbPortObjectsName + "-" + machine .Name
280282
281283 pool , err := checkIfPoolExists (s .client , lbPortObjectsName )
282284 if err != nil {
283285 return err
284286 }
287+ if pool == nil {
288+ klog .Infof ("Pool %s does not exist" , lbPortObjectsName )
289+ continue
290+ }
285291
286292 lbMember , err := checkIfLbMemberExists (s .client , pool .ID , name )
287293 if err != nil {
0 commit comments