@@ -21,6 +21,8 @@ import (
2121 "math/rand"
2222 "time"
2323
24+ "k8s.io/apimachinery/pkg/api/resource"
25+
2426 . "github.com/onsi/ginkgo"
2527 . "github.com/onsi/ginkgo/extensions/table"
2628 . "github.com/onsi/gomega"
@@ -439,6 +441,18 @@ var _ = Describe("MysqlCluster controller", func() {
439441 Spec : api.MysqlClusterSpec {
440442 Replicas : & two ,
441443 SecretName : secret .Name ,
444+ PodSpec : api.PodSpec {
445+ Resources : corev1.ResourceRequirements {
446+ Requests : corev1.ResourceList {
447+ corev1 .ResourceCPU : resource .MustParse ("100m" ),
448+ corev1 .ResourceMemory : resource .MustParse ("100Mi" ),
449+ },
450+ Limits : corev1.ResourceList {
451+ corev1 .ResourceCPU : resource .MustParse ("100m" ),
452+ corev1 .ResourceMemory : resource .MustParse ("100Mi" ),
453+ },
454+ },
455+ },
442456 },
443457 })
444458
@@ -478,13 +492,40 @@ var _ = Describe("MysqlCluster controller", func() {
478492 )))
479493 })
480494
495+ It ("should have default resource" , func () {
496+ cluster .Spec .VolumeSpec = api.VolumeSpec {
497+ EmptyDir : & corev1.EmptyDirVolumeSource {},
498+ }
499+
500+ // crete cluster
501+ Expect (c .Create (context .TODO (), cluster .Unwrap ())).To (Succeed ())
502+ Eventually (requests , timeout ).Should (Receive (Equal (expectedRequest )))
503+ Eventually (requests , timeout ).Should (Receive (Equal (expectedRequest )))
504+
505+ sts := & appsv1.StatefulSet {}
506+ stsKey := types.NamespacedName {
507+ Name : cluster .GetNameForResource (mysqlcluster .StatefulSet ),
508+ Namespace : cluster .Namespace ,
509+ }
510+
511+ Expect (c .Get (context .TODO (), stsKey , sts )).To (Succeed ())
512+
513+ // test default resource of sts.Spec.Template.Spec.InitContainers should be set
514+ Expect (sts .Spec .Template .Spec .InitContainers [0 ].Resources .Requests [corev1 .ResourceCPU ]).To (Equal (resource .MustParse ("100m" )))
515+ Expect (sts .Spec .Template .Spec .InitContainers [0 ].Resources .Requests [corev1 .ResourceMemory ]).To (Equal (resource .MustParse ("100Mi" )))
516+ Expect (sts .Spec .Template .Spec .InitContainers [0 ].Resources .Limits [corev1 .ResourceCPU ]).To (Equal (resource .MustParse ("100m" )))
517+ Expect (sts .Spec .Template .Spec .InitContainers [0 ].Resources .Limits [corev1 .ResourceMemory ]).To (Equal (resource .MustParse ("100Mi" )))
518+ })
519+
481520 })
482521
483522 Context ("testing defaults" , func () {
484523 It ("should set the defaults" , func () {
485524 newCl := & api.MysqlCluster {}
486525 scheme .Default (newCl )
487526 Expect (newCl .Spec .Replicas ).To (PointTo (Equal (int32 (1 ))))
527+
528+ // test default resource of spec.podSpec
488529 })
489530 })
490531})
0 commit comments