@@ -25,6 +25,7 @@ import (
2525 . "github.com/onsi/gomega"
2626 appsv1 "k8s.io/api/apps/v1"
2727 corev1 "k8s.io/api/core/v1"
28+ "k8s.io/apimachinery/pkg/api/resource"
2829 v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2930 "k8s.io/apimachinery/pkg/types"
3031 "k8s.io/apimachinery/pkg/util/intstr"
@@ -33,13 +34,16 @@ import (
3334const (
3435 Name = "dnode"
3536 Namespace = "testns"
37+ maxSkew = int32 (2 )
3638
3739 timeout = time .Second * 60
3840 duration = time .Second * 30
3941 interval = time .Millisecond * 250
4042)
4143
4244var replicas = int32 (2 )
45+ var cpu = int64 (1 )
46+ var memory = int64 (268435456 )
4347var typeNamespaceName = types.NamespacedName {Name : Name , Namespace : Namespace }
4448
4549const imageName = "marklogicdb/marklogic-db:11.1.0-centos-1.1.1"
@@ -70,10 +74,17 @@ var _ = Describe("MarkLogicGroup controller", func() {
7074 Namespace : Namespace ,
7175 },
7276 Spec : databasev1alpha1.MarklogicGroupSpec {
73- Replicas : & replicas ,
74- Name : Name ,
75- Image : imageName ,
76- GroupConfig : groupConfig ,
77+ Replicas : & replicas ,
78+ Name : Name ,
79+ Image : imageName ,
80+ GroupConfig : groupConfig ,
81+ EnableConverters : true ,
82+ UpdateStrategy : "OnDelete" ,
83+ Resources : & corev1.ResourceRequirements {Requests : corev1.ResourceList {"cpu" : resource .MustParse ("100m" ), "memory" : resource .MustParse ("256Mi" )}, Limits : corev1.ResourceList {"cpu" : resource .MustParse ("100m" ), "memory" : resource .MustParse ("256Mi" )}},
84+ PriorityClassName : "high-priority" ,
85+ ClusterDomain : "cluster.local" ,
86+ TopologySpreadConstraints : []corev1.TopologySpreadConstraint {{MaxSkew : 2 , TopologyKey : "kubernetes.io/hostname" , WhenUnsatisfiable : corev1 .ScheduleAnyway }},
87+ Affinity : & corev1.Affinity {PodAffinity : & corev1.PodAffinity {PreferredDuringSchedulingIgnoredDuringExecution : []corev1.WeightedPodAffinityTerm {{PodAffinityTerm : corev1.PodAffinityTerm {TopologyKey : "kubernetes.io/hostname" }, Weight : 100 }}}},
7788 },
7889 }
7990 Expect (k8sClient .Create (ctx , mlGroup )).Should (Succeed ())
@@ -88,6 +99,18 @@ var _ = Describe("MarkLogicGroup controller", func() {
8899 Expect (createdCR .Spec .Replicas ).Should (Equal (& replicas ))
89100 Expect (createdCR .Name ).Should (Equal (Name ))
90101 Expect (createdCR .Spec .GroupConfig ).Should (Equal (groupConfig ))
102+ Expect (createdCR .Spec .EnableConverters ).Should (Equal (true ))
103+ Expect (createdCR .Spec .Resources .Limits .Cpu ().Value ()).Should (Equal (cpu ))
104+ Expect (createdCR .Spec .Resources .Limits .Memory ().Value ()).Should (Equal (memory ))
105+ Expect (createdCR .Spec .Resources .Requests .Cpu ().Value ()).Should (Equal (cpu ))
106+ Expect (createdCR .Spec .Resources .Requests .Memory ().Value ()).Should (Equal (memory ))
107+ Expect (createdCR .Spec .UpdateStrategy ).Should (Equal (appsv1 .OnDeleteStatefulSetStrategyType ))
108+ Expect (createdCR .Spec .PriorityClassName ).Should (Equal ("high-priority" ))
109+ Expect (createdCR .Spec .ClusterDomain ).Should (Equal ("cluster.local" ))
110+ Expect (createdCR .Spec .TopologySpreadConstraints [0 ].MaxSkew ).Should (Equal (int32 (2 )))
111+ Expect (createdCR .Spec .TopologySpreadConstraints [0 ].TopologyKey ).Should (Equal ("kubernetes.io/hostname" ))
112+ Expect (createdCR .Spec .TopologySpreadConstraints [0 ].WhenUnsatisfiable ).Should (Equal (corev1 .ScheduleAnyway ))
113+ Expect (createdCR .Spec .Affinity .PodAffinity .PreferredDuringSchedulingIgnoredDuringExecution [0 ].Weight ).Should (Equal (int32 (100 )))
91114
92115 // Validating if StatefulSet is created successfully
93116 sts := & appsv1.StatefulSet {}
0 commit comments