@@ -271,7 +271,7 @@ func deleteBastion(scope *scope.WithLogger, cluster *clusterv1.Cluster, openStac
271
271
272
272
if openStackCluster .Status .Bastion != nil && openStackCluster .Status .Bastion .FloatingIP != "" {
273
273
if err = networkingService .DeleteFloatingIP (openStackCluster , openStackCluster .Status .Bastion .FloatingIP ); err != nil {
274
- handleUpdateOSCError (openStackCluster , fmt .Errorf ("failed to delete floating IP: %w" , err ))
274
+ handleUpdateOSCError (openStackCluster , fmt .Errorf ("failed to delete floating IP: %w" , err ), false )
275
275
return fmt .Errorf ("failed to delete floating IP: %w" , err )
276
276
}
277
277
}
@@ -330,7 +330,7 @@ func deleteBastion(scope *scope.WithLogger, cluster *clusterv1.Cluster, openStac
330
330
}
331
331
for _ , port := range bastionStatus .Resources .Ports {
332
332
if err := networkingService .DeleteInstanceTrunkAndPort (openStackCluster , port , trunkSupported ); err != nil {
333
- handleUpdateOSCError (openStackCluster , fmt .Errorf ("failed to delete port: %w" , err ))
333
+ handleUpdateOSCError (openStackCluster , fmt .Errorf ("failed to delete port: %w" , err ), false )
334
334
return fmt .Errorf ("failed to delete port: %w" , err )
335
335
}
336
336
}
@@ -644,7 +644,7 @@ func resolveLoadBalancerNetwork(openStackCluster *infrav1.OpenStackCluster, netw
644
644
if lbSpec .Network != nil {
645
645
lbNet , err := networkingService .GetNetworkByParam (lbSpec .Network )
646
646
if err != nil {
647
- if errors .Is (err , capoerrors .ErrMultipleMatches ) || errors . Is ( err , networking . ErrNoMatches ) {
647
+ if errors .Is (err , capoerrors .ErrFilterMatch ) {
648
648
handleUpdateOSCError (openStackCluster , fmt .Errorf ("failed to find loadbalancer network: %w" , err ), true )
649
649
}
650
650
return fmt .Errorf ("failed to find network: %w" , err )
@@ -817,11 +817,7 @@ func reconcileControlPlaneEndpoint(scope *scope.WithLogger, networkingService *n
817
817
818
818
terminalFailure , err := loadBalancerService .ReconcileLoadBalancer (openStackCluster , clusterResourceName , apiServerPort )
819
819
if err != nil {
820
- // if it's terminalFailure (not Transient), set the Failure reason and message
821
- if terminalFailure {
822
- handleUpdateOSCError (openStackCluster , fmt .Errorf ("failed to reconcile load balancer: %w" , err ), true )
823
- }
824
- return fmt .Errorf ("failed to reconcile load balancer: %w" , err )
820
+ return fmt .Errorf ("failed to reconcile load balancer: %w" , err , terminalFailure )
825
821
}
826
822
827
823
// Control plane endpoint is the floating IP if one was defined, otherwise the VIP address
0 commit comments