@@ -935,7 +935,7 @@ func TestTaskGroupConditionReady(t *testing.T) {
935
935
expectedObj * v1alpha1.PDGroup
936
936
}{
937
937
{
938
- desc : "no instances" ,
938
+ desc : "no instances and spec replicas is 1 (default) " ,
939
939
obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
940
940
return obj
941
941
}),
@@ -949,6 +949,68 @@ func TestTaskGroupConditionReady(t *testing.T) {
949
949
return obj
950
950
}),
951
951
},
952
+ {
953
+ desc : "no instances and spec replicas is 0 - should be ready" ,
954
+ obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
955
+ obj .Spec .Replicas = ptr.To [int32 ](0 )
956
+ return obj
957
+ }),
958
+
959
+ expectedStatusChanged : true ,
960
+ expectedStatus : task .SComplete ,
961
+ expectedObj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
962
+ obj .Spec .Replicas = ptr.To [int32 ](0 )
963
+ obj .Status .Conditions = []metav1.Condition {
964
+ * coreutil .Ready (),
965
+ }
966
+ return obj
967
+ }),
968
+ },
969
+ {
970
+ desc : "no instances and spec replicas is 0 - already ready, not changed" ,
971
+ obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
972
+ obj .Spec .Replicas = ptr.To [int32 ](0 )
973
+ obj .Status .Conditions = []metav1.Condition {
974
+ * coreutil .Ready (),
975
+ }
976
+ return obj
977
+ }),
978
+
979
+ expectedStatusChanged : false ,
980
+ expectedStatus : task .SComplete ,
981
+ expectedObj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
982
+ obj .Spec .Replicas = ptr.To [int32 ](0 )
983
+ obj .Status .Conditions = []metav1.Condition {
984
+ * coreutil .Ready (),
985
+ }
986
+ return obj
987
+ }),
988
+ },
989
+ {
990
+ desc : "has 1 instance but spec replicas is 0 - should be unready" ,
991
+ obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
992
+ obj .Spec .Replicas = ptr.To [int32 ](0 )
993
+ return obj
994
+ }),
995
+ instances : []* v1alpha1.PD {
996
+ fake .FakeObj ("aaa" , func (obj * v1alpha1.PD ) * v1alpha1.PD {
997
+ obj .Status .Conditions = []metav1.Condition {
998
+ * coreutil .Ready (),
999
+ }
1000
+ return obj
1001
+ }),
1002
+ },
1003
+
1004
+ expectedStatusChanged : true ,
1005
+ expectedStatus : task .SComplete ,
1006
+ expectedObj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1007
+ obj .Spec .Replicas = ptr.To [int32 ](0 )
1008
+ obj .Status .Conditions = []metav1.Condition {
1009
+ * coreutil .Unready (v1alpha1 .ReasonNotAllInstancesReady ),
1010
+ }
1011
+ return obj
1012
+ }),
1013
+ },
952
1014
{
953
1015
desc : "no instances, not changed" ,
954
1016
obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
@@ -966,8 +1028,9 @@ func TestTaskGroupConditionReady(t *testing.T) {
966
1028
}),
967
1029
},
968
1030
{
969
- desc : "all instances are ready" ,
1031
+ desc : "all instances are ready and spec matches " ,
970
1032
obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1033
+ obj .Spec .Replicas = ptr.To [int32 ](2 )
971
1034
return obj
972
1035
}),
973
1036
instances : []* v1alpha1.PD {
@@ -988,6 +1051,7 @@ func TestTaskGroupConditionReady(t *testing.T) {
988
1051
expectedStatusChanged : true ,
989
1052
expectedStatus : task .SComplete ,
990
1053
expectedObj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1054
+ obj .Spec .Replicas = ptr.To [int32 ](2 )
991
1055
obj .Status .Conditions = []metav1.Condition {
992
1056
* coreutil .Ready (),
993
1057
}
@@ -997,6 +1061,7 @@ func TestTaskGroupConditionReady(t *testing.T) {
997
1061
{
998
1062
desc : "one instance is not ready" ,
999
1063
obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1064
+ obj .Spec .Replicas = ptr.To [int32 ](2 )
1000
1065
return obj
1001
1066
}),
1002
1067
instances : []* v1alpha1.PD {
@@ -1014,6 +1079,38 @@ func TestTaskGroupConditionReady(t *testing.T) {
1014
1079
expectedStatusChanged : true ,
1015
1080
expectedStatus : task .SComplete ,
1016
1081
expectedObj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1082
+ obj .Spec .Replicas = ptr.To [int32 ](2 )
1083
+ obj .Status .Conditions = []metav1.Condition {
1084
+ * coreutil .Unready (v1alpha1 .ReasonNotAllInstancesReady ),
1085
+ }
1086
+ return obj
1087
+ }),
1088
+ },
1089
+ {
1090
+ desc : "all instances ready but count mismatch - expected 3 got 2" ,
1091
+ obj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1092
+ obj .Spec .Replicas = ptr.To [int32 ](3 )
1093
+ return obj
1094
+ }),
1095
+ instances : []* v1alpha1.PD {
1096
+ fake .FakeObj ("aaa" , func (obj * v1alpha1.PD ) * v1alpha1.PD {
1097
+ obj .Status .Conditions = []metav1.Condition {
1098
+ * coreutil .Ready (),
1099
+ }
1100
+ return obj
1101
+ }),
1102
+ fake .FakeObj ("bbb" , func (obj * v1alpha1.PD ) * v1alpha1.PD {
1103
+ obj .Status .Conditions = []metav1.Condition {
1104
+ * coreutil .Ready (),
1105
+ }
1106
+ return obj
1107
+ }),
1108
+ },
1109
+
1110
+ expectedStatusChanged : true ,
1111
+ expectedStatus : task .SComplete ,
1112
+ expectedObj : fake .FakeObj ("aaa" , func (obj * v1alpha1.PDGroup ) * v1alpha1.PDGroup {
1113
+ obj .Spec .Replicas = ptr.To [int32 ](3 )
1017
1114
obj .Status .Conditions = []metav1.Condition {
1018
1115
* coreutil .Unready (v1alpha1 .ReasonNotAllInstancesReady ),
1019
1116
}
0 commit comments