Skip to content

Commit 20ecae2

Browse files
Handle machine deletion when NLB/LB has been deleted (#350)
* Handle machine deletion when NLB/LB has been deleted
1 parent 97fbd21 commit 20ecae2

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

cloud/scope/machine.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,6 +616,10 @@ func (m *MachineScope) ReconcileDeleteInstanceOnLB(ctx context.Context) error {
616616
LoadBalancerId: loadbalancerId,
617617
})
618618
if err != nil {
619+
if ociutil.IsNotFound(err) {
620+
m.Logger.Info("LB has been deleted", "lb", *loadbalancerId)
621+
return nil
622+
}
619623
return err
620624
}
621625
backendSet := lb.BackendSets[APIServerLBBackendSetName]
@@ -665,6 +669,10 @@ func (m *MachineScope) ReconcileDeleteInstanceOnLB(ctx context.Context) error {
665669
NetworkLoadBalancerId: loadbalancerId,
666670
})
667671
if err != nil {
672+
if ociutil.IsNotFound(err) {
673+
m.Logger.Info("NLB has been deleted", "nlb", *loadbalancerId)
674+
return nil
675+
}
668676
return err
669677
}
670678
backendSet := lb.BackendSets[APIServerLBBackendSetName]

cloud/scope/machine_test.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1636,6 +1636,16 @@ func TestNLBReconciliationDeletion(t *testing.T) {
16361636
NetworkLoadBalancer: networkloadbalancer.NetworkLoadBalancer{}}, errors.New("could not get nlb"))
16371637
},
16381638
},
1639+
{
1640+
name: "get nlb error, not found",
1641+
errorExpected: false,
1642+
testSpecificSetup: func(machineScope *MachineScope, nlbClient *mock_nlb.MockNetworkLoadBalancerClient) {
1643+
nlbClient.EXPECT().GetNetworkLoadBalancer(gomock.Any(), gomock.Eq(networkloadbalancer.GetNetworkLoadBalancerRequest{
1644+
NetworkLoadBalancerId: common.String("nlbid"),
1645+
})).Return(networkloadbalancer.GetNetworkLoadBalancerResponse{
1646+
NetworkLoadBalancer: networkloadbalancer.NetworkLoadBalancer{}}, ociutil.ErrNotFound)
1647+
},
1648+
},
16391649
{
16401650
name: "backend exists",
16411651
errorExpected: false,
@@ -2178,6 +2188,22 @@ func TestLBReconciliationDeletion(t *testing.T) {
21782188
errorSubStringMatch bool
21792189
testSpecificSetup func(machineScope *MachineScope, lbClient *mock_lb.MockLoadBalancerClient)
21802190
}{
2191+
{
2192+
name: "get lb error",
2193+
errorExpected: false,
2194+
testSpecificSetup: func(machineScope *MachineScope, nlbClient *mock_lb.MockLoadBalancerClient) {
2195+
machineScope.OCIMachine.Status.Addresses = []clusterv1.MachineAddress{
2196+
{
2197+
Type: clusterv1.MachineInternalIP,
2198+
Address: "1.1.1.1",
2199+
},
2200+
}
2201+
nlbClient.EXPECT().GetLoadBalancer(gomock.Any(), gomock.Eq(loadbalancer.GetLoadBalancerRequest{
2202+
LoadBalancerId: common.String("lbid"),
2203+
})).Return(loadbalancer.GetLoadBalancerResponse{
2204+
LoadBalancer: loadbalancer.LoadBalancer{}}, ociutil.ErrNotFound)
2205+
},
2206+
},
21812207
{
21822208
name: "get lb error",
21832209
errorExpected: true,

0 commit comments

Comments
 (0)