@@ -13,6 +13,7 @@ import (
13
13
. "github.com/onsi/ginkgo"
14
14
. "github.com/onsi/ginkgo/extensions/table"
15
15
. "github.com/onsi/gomega"
16
+ . "github.com/onsi/gomega/gstruct"
16
17
rabbitmqv1beta1 "github.com/rabbitmq/cluster-operator/api/v1beta1"
17
18
"github.com/rabbitmq/cluster-operator/internal/resource"
18
19
appsv1 "k8s.io/api/apps/v1"
@@ -22,6 +23,7 @@ import (
22
23
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23
24
"k8s.io/apimachinery/pkg/runtime"
24
25
defaultscheme "k8s.io/client-go/kubernetes/scheme"
26
+ "k8s.io/utils/pointer"
25
27
)
26
28
27
29
var _ = Describe ("StatefulSet" , func () {
@@ -95,7 +97,6 @@ var _ = Describe("StatefulSet", func() {
95
97
})
96
98
Context ("PVC template" , func () {
97
99
It ("creates the required PersistentVolumeClaim" , func () {
98
- truth := true
99
100
q , _ := k8sresource .ParseQuantity ("10Gi" )
100
101
101
102
obj , err := stsBuilder .Build ()
@@ -117,8 +118,8 @@ var _ = Describe("StatefulSet", func() {
117
118
Kind : "RabbitmqCluster" ,
118
119
Name : instance .Name ,
119
120
UID : "" ,
120
- Controller : & truth ,
121
- BlockOwnerDeletion : & truth ,
121
+ Controller : pointer . BoolPtr ( true ) ,
122
+ BlockOwnerDeletion : pointer . BoolPtr ( false ) ,
122
123
},
123
124
},
124
125
Annotations : map [string ]string {},
@@ -170,7 +171,6 @@ var _ = Describe("StatefulSet", func() {
170
171
171
172
It ("overrides the PVC list" , func () {
172
173
storageClass := "my-storage-class"
173
- truth := true
174
174
builder .Instance .Spec .Override .StatefulSet = & rabbitmqv1beta1.StatefulSet {
175
175
Spec : & rabbitmqv1beta1.StatefulSetSpec {
176
176
VolumeClaimTemplates : []rabbitmqv1beta1.PersistentVolumeClaim {
@@ -221,8 +221,8 @@ var _ = Describe("StatefulSet", func() {
221
221
Kind : "RabbitmqCluster" ,
222
222
Name : instance .Name ,
223
223
UID : "" ,
224
- Controller : & truth ,
225
- BlockOwnerDeletion : & truth ,
224
+ Controller : pointer . BoolPtr ( true ) ,
225
+ BlockOwnerDeletion : pointer . BoolPtr ( false ) ,
226
226
},
227
227
},
228
228
},
@@ -245,8 +245,8 @@ var _ = Describe("StatefulSet", func() {
245
245
Kind : "RabbitmqCluster" ,
246
246
Name : instance .Name ,
247
247
UID : "" ,
248
- Controller : & truth ,
249
- BlockOwnerDeletion : & truth ,
248
+ Controller : pointer . BoolPtr ( true ) ,
249
+ BlockOwnerDeletion : pointer . BoolPtr ( false ) ,
250
250
},
251
251
},
252
252
},
@@ -942,45 +942,59 @@ var _ = Describe("StatefulSet", func() {
942
942
Expect (stsBuilder .Update (statefulSet )).To (Succeed ())
943
943
944
944
initContainers := statefulSet .Spec .Template .Spec .InitContainers
945
- Expect (len (initContainers )).To (Equal (1 ))
946
-
947
- container := extractContainer (initContainers , "copy-config" )
948
- Expect (container .Command ).To (Equal ([]string {
949
- "sh" , "-c" , "cp /tmp/rabbitmq/rabbitmq.conf /etc/rabbitmq/rabbitmq.conf && echo '' >> /etc/rabbitmq/rabbitmq.conf ; " +
950
- "cp /tmp/rabbitmq/advanced.config /etc/rabbitmq/advanced.config ; " +
951
- "cp /tmp/rabbitmq/rabbitmq-env.conf /etc/rabbitmq/rabbitmq-env.conf ; " +
952
- "cp /tmp/erlang-cookie-secret/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie " +
953
- "&& chown 999:999 /var/lib/rabbitmq/.erlang.cookie " +
954
- "&& chmod 600 /var/lib/rabbitmq/.erlang.cookie ; " +
955
- "cp /tmp/rabbitmq-plugins/enabled_plugins /etc/rabbitmq/enabled_plugins " +
956
- "&& chown 999:999 /etc/rabbitmq/enabled_plugins" ,
945
+ Expect (initContainers ).To (HaveLen (1 ))
946
+
947
+ initContainer := extractContainer (initContainers , "setup-container" )
948
+ Expect (initContainer ).To (MatchFields (IgnoreExtras , Fields {
949
+ "Image" : Equal ("rabbitmq-image-from-cr" ),
950
+ "SecurityContext" : PointTo (MatchFields (IgnoreExtras , Fields {
951
+ "Capabilities" : PointTo (MatchAllFields (Fields {
952
+ "Drop" : ConsistOf ([]corev1.Capability {"ALL" }),
953
+ "Add" : ConsistOf ([]corev1.Capability {"CHOWN" , "FOWNER" }),
954
+ })),
955
+ })),
956
+ "Command" : ConsistOf (
957
+ "sh" , "-c" , "cp /tmp/rabbitmq/rabbitmq.conf /etc/rabbitmq/rabbitmq.conf " +
958
+ "&& chown 999:999 /etc/rabbitmq/rabbitmq.conf " +
959
+ "&& echo '' >> /etc/rabbitmq/rabbitmq.conf ; " +
960
+ "cp /tmp/rabbitmq/advanced.config /etc/rabbitmq/advanced.config " +
961
+ "&& chown 999:999 /etc/rabbitmq/advanced.config ; " +
962
+ "cp /tmp/rabbitmq/rabbitmq-env.conf /etc/rabbitmq/rabbitmq-env.conf " +
963
+ "&& chown 999:999 /etc/rabbitmq/rabbitmq-env.conf ; " +
964
+ "cp /tmp/erlang-cookie-secret/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie " +
965
+ "&& chown 999:999 /var/lib/rabbitmq/.erlang.cookie " +
966
+ "&& chmod 600 /var/lib/rabbitmq/.erlang.cookie ; " +
967
+ "cp /tmp/rabbitmq-plugins/enabled_plugins /etc/rabbitmq/enabled_plugins " +
968
+ "&& chown 999:999 /etc/rabbitmq/enabled_plugins ; " +
969
+ "chgrp 999 /var/lib/rabbitmq/mnesia/" ,
970
+ ),
971
+ "VolumeMounts" : ConsistOf (
972
+ corev1.VolumeMount {
973
+ Name : "server-conf" ,
974
+ MountPath : "/tmp/rabbitmq/" ,
975
+ },
976
+ corev1.VolumeMount {
977
+ Name : "plugins-conf" ,
978
+ MountPath : "/tmp/rabbitmq-plugins/" ,
979
+ },
980
+ corev1.VolumeMount {
981
+ Name : "rabbitmq-etc" ,
982
+ MountPath : "/etc/rabbitmq/" ,
983
+ },
984
+ corev1.VolumeMount {
985
+ Name : "rabbitmq-erlang-cookie" ,
986
+ MountPath : "/var/lib/rabbitmq/" ,
987
+ },
988
+ corev1.VolumeMount {
989
+ Name : "erlang-cookie-secret" ,
990
+ MountPath : "/tmp/erlang-cookie-secret/" ,
991
+ },
992
+ corev1.VolumeMount {
993
+ Name : "persistence" ,
994
+ MountPath : "/var/lib/rabbitmq/mnesia/" ,
995
+ },
996
+ ),
957
997
}))
958
-
959
- Expect (container .VolumeMounts ).To (ConsistOf (
960
- corev1.VolumeMount {
961
- Name : "server-conf" ,
962
- MountPath : "/tmp/rabbitmq/" ,
963
- },
964
- corev1.VolumeMount {
965
- Name : "plugins-conf" ,
966
- MountPath : "/tmp/rabbitmq-plugins/" ,
967
- },
968
-
969
- corev1.VolumeMount {
970
- Name : "rabbitmq-etc" ,
971
- MountPath : "/etc/rabbitmq/" ,
972
- },
973
- corev1.VolumeMount {
974
- Name : "rabbitmq-erlang-cookie" ,
975
- MountPath : "/var/lib/rabbitmq/" ,
976
- },
977
- corev1.VolumeMount {
978
- Name : "erlang-cookie-secret" ,
979
- MountPath : "/tmp/erlang-cookie-secret/" ,
980
- },
981
- ))
982
-
983
- Expect (container .Image ).To (Equal ("rabbitmq-image-from-cr" ))
984
998
})
985
999
986
1000
It ("adds the required terminationGracePeriodSeconds" , func () {
0 commit comments