Skip to content

Commit 4f46323

Browse files
authored
Merge pull request #4706 from k8s-infra-cherrypick-robot/cherry-pick-4701-to-release-2.2
[release-2.2] 🐛 Fix deregistering of deleted CAPI Machines
2 parents 5b87cee + d6cd10b commit 4f46323

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

controllers/awsmachine_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -835,8 +835,8 @@ func (r *AWSMachineReconciler) reconcileLBAttachment(machineScope *scope.Machine
835835
elbsvc := r.getELBService(elbScope)
836836

837837
// In order to prevent sending request to a "not-ready" control plane machines, it is required to remove the machine
838-
// from the ELB as soon as the machine gets deleted or when the machine is in a not running state.
839-
if !machineScope.AWSMachine.DeletionTimestamp.IsZero() || !machineScope.InstanceIsRunning() {
838+
// from the ELB as soon as the machine or infra machine gets deleted or when the machine is in a not running state.
839+
if machineScope.AWSMachineIsDeleted() || machineScope.MachineIsDeleted() || !machineScope.InstanceIsRunning() {
840840
if elbScope.ControlPlaneLoadBalancer().LoadBalancerType == infrav1.LoadBalancerTypeClassic {
841841
machineScope.Debug("deregistering from classic load balancer")
842842
return r.deregisterInstanceFromClassicLB(machineScope, elbsvc, i)

pkg/cloud/scope/machine.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,11 +360,16 @@ func (m *MachineScope) InstanceIsInKnownState() bool {
360360
return state != nil && infrav1.InstanceKnownStates.Has(string(*state))
361361
}
362362

363-
// AWSMachineIsDeleted checks if the machine was deleted.
363+
// AWSMachineIsDeleted checks if the AWS machine was deleted.
364364
func (m *MachineScope) AWSMachineIsDeleted() bool {
365365
return !m.AWSMachine.ObjectMeta.DeletionTimestamp.IsZero()
366366
}
367367

368+
// MachineIsDeleted checks if the machine was deleted.
369+
func (m *MachineScope) MachineIsDeleted() bool {
370+
return !m.Machine.ObjectMeta.DeletionTimestamp.IsZero()
371+
}
372+
368373
// IsEKSManaged checks if the machine is EKS managed.
369374
func (m *MachineScope) IsEKSManaged() bool {
370375
return m.InfraCluster.InfraCluster().GetObjectKind().GroupVersionKind().Kind == ekscontrolplanev1.AWSManagedControlPlaneKind

0 commit comments

Comments
 (0)