Add unit test case for OTHER error handling
This commit is contained in:
parent
1b4f1855cb
commit
be68d06b40
|
|
@ -817,7 +817,7 @@ func TestStaticAutoscalerRunOncePodsWithPriorities(t *testing.T) {
|
|||
podDisruptionBudgetListerMock, daemonSetListerMock, onScaleUpMock, onScaleDownMock)
|
||||
}
|
||||
|
||||
func TestStaticAutoscalerOutOfResources(t *testing.T) {
|
||||
func TestStaticAutoscalerInstaceCreationErrors(t *testing.T) {
|
||||
|
||||
// setup
|
||||
provider := &mockprovider.CloudProvider{}
|
||||
|
|
@ -904,6 +904,16 @@ func TestStaticAutoscalerOutOfResources(t *testing.T) {
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"A6",
|
||||
&cloudprovider.InstanceStatus{
|
||||
State: cloudprovider.InstanceCreating,
|
||||
ErrorInfo: &cloudprovider.InstanceErrorInfo{
|
||||
ErrorClass: cloudprovider.OtherErrorClass,
|
||||
ErrorCode: "OTHER",
|
||||
},
|
||||
},
|
||||
},
|
||||
}, nil).Twice()
|
||||
|
||||
nodeGroupB.On("Exist").Return(true)
|
||||
|
|
@ -944,14 +954,14 @@ func TestStaticAutoscalerOutOfResources(t *testing.T) {
|
|||
// check delete was called on correct nodes
|
||||
nodeGroupA.AssertCalled(t, "DeleteNodes", mock.MatchedBy(
|
||||
func(nodes []*apiv1.Node) bool {
|
||||
if len(nodes) != 3 {
|
||||
if len(nodes) != 4 {
|
||||
return false
|
||||
}
|
||||
names := make(map[string]bool)
|
||||
for _, node := range nodes {
|
||||
names[node.Spec.ProviderID] = true
|
||||
}
|
||||
return names["A3"] && names["A4"] && names["A5"]
|
||||
return names["A3"] && names["A4"] && names["A5"] && names["A6"]
|
||||
}))
|
||||
|
||||
// TODO assert that scaleup was failed (separately for QUOTA and STOCKOUT)
|
||||
|
|
@ -968,14 +978,14 @@ func TestStaticAutoscalerOutOfResources(t *testing.T) {
|
|||
// nodes should be deleted again
|
||||
nodeGroupA.AssertCalled(t, "DeleteNodes", mock.MatchedBy(
|
||||
func(nodes []*apiv1.Node) bool {
|
||||
if len(nodes) != 3 {
|
||||
if len(nodes) != 4 {
|
||||
return false
|
||||
}
|
||||
names := make(map[string]bool)
|
||||
for _, node := range nodes {
|
||||
names[node.Spec.ProviderID] = true
|
||||
}
|
||||
return names["A3"] && names["A4"] && names["A5"]
|
||||
return names["A3"] && names["A4"] && names["A5"] && names["A6"]
|
||||
}))
|
||||
|
||||
// TODO assert that scaleup is not failed again
|
||||
|
|
@ -1012,6 +1022,12 @@ func TestStaticAutoscalerOutOfResources(t *testing.T) {
|
|||
State: cloudprovider.InstanceDeleting,
|
||||
},
|
||||
},
|
||||
{
|
||||
"A6",
|
||||
&cloudprovider.InstanceStatus{
|
||||
State: cloudprovider.InstanceDeleting,
|
||||
},
|
||||
},
|
||||
}, nil)
|
||||
|
||||
clusterState.RefreshCloudProviderNodeInstancesCache()
|
||||
|
|
|
|||
Loading…
Reference in New Issue