Skip to content

Commit 891069c

Browse files
Handle machine deletion when NLB/LB has been deleted (#350)
* Handle machine deletion when NLB/LB has been deleted
1 parent 8acfb46 commit 891069c

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

cloud/scope/machine.go

+8
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,10 @@ func (m *MachineScope) ReconcileDeleteInstanceOnLB(ctx context.Context) error {
609609
LoadBalancerId: loadbalancerId,
610610
})
611611
if err != nil {
612+
if ociutil.IsNotFound(err) {
613+
m.Logger.Info("LB has been deleted", "lb", *loadbalancerId)
614+
return nil
615+
}
612616
return err
613617
}
614618
backendSet := lb.BackendSets[APIServerLBBackendSetName]
@@ -658,6 +662,10 @@ func (m *MachineScope) ReconcileDeleteInstanceOnLB(ctx context.Context) error {
658662
NetworkLoadBalancerId: loadbalancerId,
659663
})
660664
if err != nil {
665+
if ociutil.IsNotFound(err) {
666+
m.Logger.Info("NLB has been deleted", "nlb", *loadbalancerId)
667+
return nil
668+
}
661669
return err
662670
}
663671
backendSet := lb.BackendSets[APIServerLBBackendSetName]

cloud/scope/machine_test.go

+26
Original file line numberDiff line numberDiff line change
@@ -1566,6 +1566,16 @@ func TestNLBReconciliationDeletion(t *testing.T) {
15661566
NetworkLoadBalancer: networkloadbalancer.NetworkLoadBalancer{}}, errors.New("could not get nlb"))
15671567
},
15681568
},
1569+
{
1570+
name: "get nlb error, not found",
1571+
errorExpected: false,
1572+
testSpecificSetup: func(machineScope *MachineScope, nlbClient *mock_nlb.MockNetworkLoadBalancerClient) {
1573+
nlbClient.EXPECT().GetNetworkLoadBalancer(gomock.Any(), gomock.Eq(networkloadbalancer.GetNetworkLoadBalancerRequest{
1574+
NetworkLoadBalancerId: common.String("nlbid"),
1575+
})).Return(networkloadbalancer.GetNetworkLoadBalancerResponse{
1576+
NetworkLoadBalancer: networkloadbalancer.NetworkLoadBalancer{}}, ociutil.ErrNotFound)
1577+
},
1578+
},
15691579
{
15701580
name: "backend exists",
15711581
errorExpected: false,
@@ -2108,6 +2118,22 @@ func TestLBReconciliationDeletion(t *testing.T) {
21082118
errorSubStringMatch bool
21092119
testSpecificSetup func(machineScope *MachineScope, lbClient *mock_lb.MockLoadBalancerClient)
21102120
}{
2121+
{
2122+
name: "get lb error",
2123+
errorExpected: false,
2124+
testSpecificSetup: func(machineScope *MachineScope, nlbClient *mock_lb.MockLoadBalancerClient) {
2125+
machineScope.OCIMachine.Status.Addresses = []clusterv1.MachineAddress{
2126+
{
2127+
Type: clusterv1.MachineInternalIP,
2128+
Address: "1.1.1.1",
2129+
},
2130+
}
2131+
nlbClient.EXPECT().GetLoadBalancer(gomock.Any(), gomock.Eq(loadbalancer.GetLoadBalancerRequest{
2132+
LoadBalancerId: common.String("lbid"),
2133+
})).Return(loadbalancer.GetLoadBalancerResponse{
2134+
LoadBalancer: loadbalancer.LoadBalancer{}}, ociutil.ErrNotFound)
2135+
},
2136+
},
21112137
{
21122138
name: "get lb error",
21132139
errorExpected: true,

0 commit comments

Comments
 (0)