diff --git a/pkg/controller/cyclenoderequest/transitioner/test_helpers.go b/pkg/controller/cyclenoderequest/transitioner/test_helpers.go index 7ef47a0..b658c7e 100644 --- a/pkg/controller/cyclenoderequest/transitioner/test_helpers.go +++ b/pkg/controller/cyclenoderequest/transitioner/test_helpers.go @@ -26,7 +26,7 @@ func WithKubeNodes(nodes []*mock.Node) Option { func WithExtraKubeObject(extraKubeObject client.Object) Option { return func(t *Transitioner) { - t.extrakubeObjects = append(t.extrakubeObjects, extraKubeObject) + t.extraKubeObjects = append(t.extraKubeObjects, extraKubeObject) } } @@ -45,7 +45,7 @@ type Transitioner struct { CloudProviderInstances []*mock.Node KubeNodes []*mock.Node - extrakubeObjects []client.Object + extraKubeObjects []client.Object transitionerOptions Options } @@ -56,7 +56,7 @@ func NewFakeTransitioner(cnr *v1.CycleNodeRequest, opts ...Option) *Transitioner // override these as needed CloudProviderInstances: make([]*mock.Node, 0), KubeNodes: make([]*mock.Node, 0), - extrakubeObjects: []client.Object{cnr}, + extraKubeObjects: []client.Object{cnr}, transitionerOptions: Options{}, } @@ -65,7 +65,7 @@ func NewFakeTransitioner(cnr *v1.CycleNodeRequest, opts ...Option) *Transitioner } t.Client = mock.NewClient( - t.KubeNodes, t.CloudProviderInstances, t.extrakubeObjects..., + t.KubeNodes, t.CloudProviderInstances, t.extraKubeObjects..., ) rm := &controller.ResourceManager{ diff --git a/pkg/controller/cyclenoderequest/transitioner/util.go b/pkg/controller/cyclenoderequest/transitioner/util.go index 1a0c5cc..bfefdfe 100644 --- a/pkg/controller/cyclenoderequest/transitioner/util.go +++ b/pkg/controller/cyclenoderequest/transitioner/util.go @@ -538,7 +538,7 @@ func (t *CycleNodeRequestTransitioner) validateInstanceState(validNodeGroupInsta } // deleteFailedSiblingCNRs finds the CNRs generated for the same nodegroup as -// the one in the calling transitioner. It filters for deleted CNRs in the same +// the one in the transitioner. It filters for deleted CNRs in the same // namespace and deletes them. func (t *CycleNodeRequestTransitioner) deleteFailedSiblingCNRs() error { ctx := context.TODO() diff --git a/pkg/observer/controller.go b/pkg/observer/controller.go index f457eba..cf7f30a 100644 --- a/pkg/observer/controller.go +++ b/pkg/observer/controller.go @@ -261,7 +261,12 @@ func (c *controller) dropInProgressNodeGroups(nodeGroups v1.NodeGroupList, cnrs } if dropNodeGroup { - klog.Warningf("nodegroup %q has an in progress CNR.. skipping this nodegroup", nodeGroup.Name) + if failedCNRsFound > nodeGroup.Spec.MaxFailedCycleNodeRequests { + klog.Warningf("nodegroup %q has too many failed CNRs.. skipping this nodegroup", nodeGroup.Name) + } else { + klog.Warningf("nodegroup %q has an in progress CNR.. skipping this nodegroup", nodeGroup.Name) + } + c.NodeGroupsLocked.WithLabelValues(nodeGroup.Name).Inc() continue }