diff --git a/cluster-autoscaler/cloudprovider/aws/aws_cloud_provider_test.go b/cluster-autoscaler/cloudprovider/aws/aws_cloud_provider_test.go index ad64ed05b4..143fb766ab 100644 --- a/cluster-autoscaler/cloudprovider/aws/aws_cloud_provider_test.go +++ b/cluster-autoscaler/cloudprovider/aws/aws_cloud_provider_test.go @@ -118,6 +118,17 @@ func TestNodeGroupForNode(t *testing.T) { assert.Equal(t, group.Id(), "test-asg") assert.Equal(t, group.MinSize(), 1) assert.Equal(t, group.MaxSize(), 5) + + // test node in cluster that is not in a group managed by cluster autoscaler + nodeNotInGroup := &kube_api.Node{ + Spec: kube_api.NodeSpec{ + ProviderID: "aws:///us-east-1a/test-instance-id-not-in-group", + }, + } + + group, err = provider.NodeGroupForNode(nodeNotInGroup) + assert.NoError(t, err) + assert.Nil(t, group) } func TestAwsRefFromProviderId(t *testing.T) { diff --git a/cluster-autoscaler/cloudprovider/aws/aws_manager.go b/cluster-autoscaler/cloudprovider/aws/aws_manager.go index 90e2e1eb08..2547c1fcbb 100644 --- a/cluster-autoscaler/cloudprovider/aws/aws_manager.go +++ b/cluster-autoscaler/cloudprovider/aws/aws_manager.go @@ -175,7 +175,8 @@ func (m *AwsManager) GetAsgForInstance(instance *AwsRef) (*Asg, error) { if config, found := m.asgCache[*instance]; found { return config, nil } - return nil, fmt.Errorf("Instance %+v does not belong to any known ASG", *instance) + // instance does not belong to any configured ASG + return nil, nil } func (m *AwsManager) regenerateCache() error {