From 1f22c04795e779b5e9be6610e368d8fee7796a0a Mon Sep 17 00:00:00 2001 From: Victor Chen Date: Thu, 15 Jun 2023 17:30:08 +1000 Subject: [PATCH 1/2] Fix if statement --- .../cyclenoderequest/transitioner/transitions.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkg/controller/cyclenoderequest/transitioner/transitions.go b/pkg/controller/cyclenoderequest/transitioner/transitions.go index e0e1e45..1cdbe70 100644 --- a/pkg/controller/cyclenoderequest/transitioner/transitions.go +++ b/pkg/controller/cyclenoderequest/transitioner/transitions.go @@ -524,7 +524,7 @@ func (t *CycleNodeRequestTransitioner) transitionHealing() (reconcile.Result, er if err != nil { return t.transitionToFailed(err) } - + if !nodeExists { t.rm.LogEvent(t.cycleNodeRequest, "HealingNodes", "Node does not exist, skip healing node: %s", node.Name) @@ -533,13 +533,12 @@ func (t *CycleNodeRequestTransitioner) transitionHealing() (reconcile.Result, er // try and re-attach the nodes, if any were un-attached t.rm.LogEvent(t.cycleNodeRequest, "AttachingNodes", "Attaching instances to nodes group: %v", node.Name) - alreadyAttached, err := nodeGroups.AttachInstance(node.ProviderID, node.NodeGroupName) - if alreadyAttached { + // if the node is already attached, ignore the error and continue to un-cordoning, otherwise return with error + if alreadyAttached, err := nodeGroups.AttachInstance(node.ProviderID, node.NodeGroupName); alreadyAttached { t.rm.LogEvent(t.cycleNodeRequest, "AttachingNodes", "Skip re-attaching instances to nodes group: %v, err: %v", node.Name, err) - } - if err != nil { + } else if err != nil { return t.transitionToFailed(err) } From c1d3fe7d7072ee98b27571649052848251404a1f Mon Sep 17 00:00:00 2001 From: Victor Chen Date: Fri, 16 Jun 2023 12:05:34 +1000 Subject: [PATCH 2/2] Use if rather than if else --- .../cyclenoderequest/transitioner/transitions.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/controller/cyclenoderequest/transitioner/transitions.go b/pkg/controller/cyclenoderequest/transitioner/transitions.go index 1cdbe70..51347ae 100644 --- a/pkg/controller/cyclenoderequest/transitioner/transitions.go +++ b/pkg/controller/cyclenoderequest/transitioner/transitions.go @@ -534,12 +534,14 @@ func (t *CycleNodeRequestTransitioner) transitionHealing() (reconcile.Result, er // try and re-attach the nodes, if any were un-attached t.rm.LogEvent(t.cycleNodeRequest, "AttachingNodes", "Attaching instances to nodes group: %v", node.Name) // if the node is already attached, ignore the error and continue to un-cordoning, otherwise return with error - if alreadyAttached, err := nodeGroups.AttachInstance(node.ProviderID, node.NodeGroupName); alreadyAttached { + alreadyAttached, err := nodeGroups.AttachInstance(node.ProviderID, node.NodeGroupName) + if err != nil && !alreadyAttached { + return t.transitionToFailed(err) + } + if alreadyAttached { t.rm.LogEvent(t.cycleNodeRequest, "AttachingNodes", "Skip re-attaching instances to nodes group: %v, err: %v", node.Name, err) - } else if err != nil { - return t.transitionToFailed(err) } // un-cordon after attach as well