Log event when removing unregistered node
This commit is contained in:
parent
32c4a7ba5c
commit
098ebbee09
|
|
@ -147,7 +147,7 @@ func (a *StaticAutoscaler) RunOnce(currentTime time.Time) errors.AutoscalerError
|
|||
unregisteredNodes := a.ClusterStateRegistry.GetUnregisteredNodes()
|
||||
if len(unregisteredNodes) > 0 {
|
||||
glog.V(1).Infof("%d unregistered nodes present", len(unregisteredNodes))
|
||||
removedAny, err := removeOldUnregisteredNodes(unregisteredNodes, autoscalingContext, currentTime)
|
||||
removedAny, err := removeOldUnregisteredNodes(unregisteredNodes, autoscalingContext, currentTime, autoscalingContext.LogRecorder)
|
||||
// There was a problem with removing unregistered nodes. Retry in the next loop.
|
||||
if err != nil {
|
||||
if removedAny {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import (
|
|||
|
||||
"k8s.io/autoscaler/cluster-autoscaler/cloudprovider"
|
||||
"k8s.io/autoscaler/cluster-autoscaler/clusterstate"
|
||||
"k8s.io/autoscaler/cluster-autoscaler/clusterstate/utils"
|
||||
"k8s.io/autoscaler/cluster-autoscaler/metrics"
|
||||
"k8s.io/autoscaler/cluster-autoscaler/simulator"
|
||||
"k8s.io/autoscaler/cluster-autoscaler/utils/daemonset"
|
||||
|
|
@ -313,7 +314,7 @@ func sanitizeTemplateNode(node *apiv1.Node, nodeGroup string) (*apiv1.Node, erro
|
|||
|
||||
// Removes unregistered nodes if needed. Returns true if anything was removed and error if such occurred.
|
||||
func removeOldUnregisteredNodes(unregisteredNodes []clusterstate.UnregisteredNode, context *AutoscalingContext,
|
||||
currentTime time.Time) (bool, error) {
|
||||
currentTime time.Time, logRecorder *utils.LogEventRecorder) (bool, error) {
|
||||
removedAny := false
|
||||
for _, unregisteredNode := range unregisteredNodes {
|
||||
if unregisteredNode.UnregisteredSince.Add(context.UnregisteredNodeRemovalTime).Before(currentTime) {
|
||||
|
|
@ -327,6 +328,8 @@ func removeOldUnregisteredNodes(unregisteredNodes []clusterstate.UnregisteredNod
|
|||
glog.Warningf("No node group for node %s, skipping", unregisteredNode.Node.Name)
|
||||
continue
|
||||
}
|
||||
logRecorder.Eventf(apiv1.EventTypeNormal, "DeleteUnregistered",
|
||||
"Removing unregistered node %v", unregisteredNode.Node.Name)
|
||||
err = nodeGroup.DeleteNodes([]*apiv1.Node{unregisteredNode.Node})
|
||||
if err != nil {
|
||||
glog.Warningf("Failed to remove node %s: %v", unregisteredNode.Node.Name, err)
|
||||
|
|
|
|||
|
|
@ -273,12 +273,12 @@ func TestRemoveOldUnregisteredNodes(t *testing.T) {
|
|||
assert.Equal(t, 1, len(unregisteredNodes))
|
||||
|
||||
// Nothing should be removed. The unregistered node is not old enough.
|
||||
removed, err := removeOldUnregisteredNodes(unregisteredNodes, context, now.Add(-50*time.Minute))
|
||||
removed, err := removeOldUnregisteredNodes(unregisteredNodes, context, now.Add(-50*time.Minute), fakeLogRecorder)
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, removed)
|
||||
|
||||
// ng1_2 should be removed.
|
||||
removed, err = removeOldUnregisteredNodes(unregisteredNodes, context, now)
|
||||
removed, err = removeOldUnregisteredNodes(unregisteredNodes, context, now, fakeLogRecorder)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, removed)
|
||||
deletedNode := getStringFromChan(deletedNodes)
|
||||
|
|
|
|||
Loading…
Reference in New Issue