@@ -327,10 +327,9 @@ var _ = Describe("StatefulSet", func() {
327
327
It ("specifies the upgrade policy" , func () {
328
328
stsBuilder := builder .StatefulSet ()
329
329
Expect (stsBuilder .Update (statefulSet )).To (Succeed ())
330
- zero := int32 (0 )
331
330
updateStrategy := appsv1.StatefulSetUpdateStrategy {
332
331
RollingUpdate : & appsv1.RollingUpdateStatefulSetStrategy {
333
- Partition : & zero ,
332
+ Partition : pointer . Int32Ptr ( 0 ) ,
334
333
},
335
334
Type : appsv1 .RollingUpdateStatefulSetStrategyType ,
336
335
}
@@ -1022,13 +1021,22 @@ var _ = Describe("StatefulSet", func() {
1022
1021
}))
1023
1022
})
1024
1023
1025
- It ("adds the required terminationGracePeriodSeconds" , func () {
1024
+ It ("sets TerminationGracePeriodSeconds in podTemplate as provided in instance spec" , func () {
1025
+ instance .Spec .TerminationGracePeriodSeconds = pointer .Int64Ptr (10 )
1026
+ builder = & resource.RabbitmqResourceBuilder {
1027
+ Instance : & instance ,
1028
+ Scheme : scheme ,
1029
+ }
1030
+
1026
1031
stsBuilder := builder .StatefulSet ()
1027
1032
Expect (stsBuilder .Update (statefulSet )).To (Succeed ())
1028
1033
1029
1034
gracePeriodSeconds := statefulSet .Spec .Template .Spec .TerminationGracePeriodSeconds
1030
- expectedGracePeriodSeconds := int64 (60 * 60 * 24 * 7 )
1031
- Expect (gracePeriodSeconds ).To (Equal (& expectedGracePeriodSeconds ))
1035
+ Expect (gracePeriodSeconds ).To (Equal (pointer .Int64Ptr (10 )))
1036
+
1037
+ // TerminationGracePeriodSeconds is used to set commands timeouts in the preStop hook
1038
+ expectedPreStopCommand := []string {"/bin/bash" , "-c" , "if [ ! -z \" $(cat /etc/pod-info/skipPreStopChecks)\" ]; then exit 0; fi; rabbitmq-upgrade await_online_quorum_plus_one -t 10; rabbitmq-upgrade await_online_synchronized_mirror -t 10; rabbitmq-upgrade drain -t 10" }
1039
+ Expect (statefulSet .Spec .Template .Spec .Containers [0 ].Lifecycle .PreStop .Exec .Command ).To (Equal (expectedPreStopCommand ))
1032
1040
})
1033
1041
1034
1042
It ("checks mirror and querum queue status in preStop hook" , func () {
@@ -1110,8 +1118,7 @@ var _ = Describe("StatefulSet", func() {
1110
1118
})
1111
1119
1112
1120
It ("sets the replica count of the StatefulSet to the instance value" , func () {
1113
- three := int32 (3 )
1114
- instance .Spec .Replicas = & three
1121
+ instance .Spec .Replicas = pointer .Int32Ptr (3 )
1115
1122
builder = & resource.RabbitmqResourceBuilder {
1116
1123
Instance : & instance ,
1117
1124
Scheme : scheme ,
@@ -1182,10 +1189,9 @@ var _ = Describe("StatefulSet", func() {
1182
1189
})
1183
1190
1184
1191
It ("overrides statefulSet.spec.replicas" , func () {
1185
- ten := int32 (10 )
1186
1192
instance .Spec .Override .StatefulSet = & rabbitmqv1beta1.StatefulSet {
1187
1193
Spec : & rabbitmqv1beta1.StatefulSetSpec {
1188
- Replicas : & ten ,
1194
+ Replicas : pointer . Int32Ptr ( 10 ) ,
1189
1195
},
1190
1196
}
1191
1197
@@ -1207,13 +1213,12 @@ var _ = Describe("StatefulSet", func() {
1207
1213
})
1208
1214
1209
1215
It ("overrides statefulSet.spec.UpdateStrategy" , func () {
1210
- one := int32 (1 )
1211
1216
instance .Spec .Override .StatefulSet = & rabbitmqv1beta1.StatefulSet {
1212
1217
Spec : & rabbitmqv1beta1.StatefulSetSpec {
1213
1218
UpdateStrategy : & appsv1.StatefulSetUpdateStrategy {
1214
1219
Type : "OnDelete" ,
1215
1220
RollingUpdate : & appsv1.RollingUpdateStatefulSetStrategy {
1216
- Partition : & one ,
1221
+ Partition : pointer . Int32Ptr ( 1 ) ,
1217
1222
},
1218
1223
},
1219
1224
},
@@ -1419,14 +1424,12 @@ var _ = Describe("StatefulSet", func() {
1419
1424
})
1420
1425
1421
1426
It ("ensures override takes precedence when same property is set both at the top level and at the override level" , func () {
1422
- two := int32 (2 )
1423
- four := int32 (4 )
1424
1427
instance .Spec .Image = "should-be-replaced-image"
1425
- instance .Spec .Replicas = & two
1428
+ instance .Spec .Replicas = pointer . Int32Ptr ( 2 )
1426
1429
1427
1430
instance .Spec .Override .StatefulSet = & rabbitmqv1beta1.StatefulSet {
1428
1431
Spec : & rabbitmqv1beta1.StatefulSetSpec {
1429
- Replicas : & four ,
1432
+ Replicas : pointer . Int32Ptr ( 4 ) ,
1430
1433
Template : & rabbitmqv1beta1.PodTemplateSpec {
1431
1434
Spec : & corev1.PodSpec {
1432
1435
Containers : []corev1.Container {
@@ -1466,16 +1469,16 @@ func extractContainer(containers []corev1.Container, containerName string) corev
1466
1469
1467
1470
func generateRabbitmqCluster () rabbitmqv1beta1.RabbitmqCluster {
1468
1471
storage := k8sresource .MustParse ("10Gi" )
1469
- one := int32 (1 )
1470
1472
return rabbitmqv1beta1.RabbitmqCluster {
1471
1473
ObjectMeta : v1.ObjectMeta {
1472
1474
Name : "foo" ,
1473
1475
Namespace : "foo-namespace" ,
1474
1476
},
1475
1477
Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
1476
- Replicas : & one ,
1477
- Image : "rabbitmq-image-from-cr" ,
1478
- ImagePullSecrets : []corev1.LocalObjectReference {{Name : "my-super-secret" }},
1478
+ Replicas : pointer .Int32Ptr (1 ),
1479
+ Image : "rabbitmq-image-from-cr" ,
1480
+ ImagePullSecrets : []corev1.LocalObjectReference {{Name : "my-super-secret" }},
1481
+ TerminationGracePeriodSeconds : pointer .Int64Ptr (604800 ),
1479
1482
Service : rabbitmqv1beta1.RabbitmqClusterServiceSpec {
1480
1483
Type : "this-is-a-service" ,
1481
1484
Annotations : map [string ]string {},
0 commit comments