@@ -43,8 +43,11 @@ func TestResourcesChangeLimitsCluster(t *testing.T) {
4343 deploymentClient := kubeArangoClient .MustNewInCluster ()
4444 ns := getNamespace (t )
4545
46- size500mCPU , _ := resource .ParseQuantity ("50m" )
47- size1CPU , _ := resource .ParseQuantity ("1" )
46+ size500m , _ := resource .ParseQuantity ("50m" )
47+ size1 , _ := resource .ParseQuantity ("1" )
48+ size100Gi , _ := resource .ParseQuantity ("100Gi" )
49+ size1Gi , _ := resource .ParseQuantity ("1Gi" )
50+ size2Gi , _ := resource .ParseQuantity ("2Gi" )
4851
4952 // Prepare deployment config
5053 depl := newDeployment ("test-chng-limits-" + uniuri .NewLen (4 ))
@@ -61,35 +64,56 @@ func TestResourcesChangeLimitsCluster(t *testing.T) {
6164
6265 testGroups := []api.ServerGroup {api .ServerGroupCoordinators , api .ServerGroupAgents , api .ServerGroupDBServers }
6366
67+ testCases := []v1.ResourceRequirements {
68+ {
69+ Limits : v1.ResourceList {
70+ v1 .ResourceCPU : size1 ,
71+ },
72+ },
73+ {
74+ Requests : v1.ResourceList {
75+ v1 .ResourceCPU : size500m ,
76+ },
77+ },
78+ {
79+ Requests : v1.ResourceList {
80+ v1 .ResourceCPU : size500m ,
81+ v1 .ResourceMemory : size1Gi ,
82+ },
83+ },
84+ {
85+ Requests : v1.ResourceList {
86+ v1 .ResourceCPU : size500m ,
87+ v1 .ResourceMemory : size2Gi ,
88+ },
89+ },
90+ {
91+ Limits : v1.ResourceList {
92+ v1 .ResourceCPU : size1 ,
93+ v1 .ResourceMemory : size100Gi ,
94+ },
95+ },
96+ }
97+
6498 for _ , testgroup := range testGroups {
6599 t .Run (testgroup .AsRole (), func (t * testing.T ) {
66100
67101 _ , err = waitUntilDeployment (deploymentClient , depl .GetName (), ns , deploymentIsReady ())
68102 assert .NoError (t , err , fmt .Sprintf ("Deployment not running in time: %s" , err ))
69103
70- depl , err = updateDeployment (c , depl .GetName (), ns , func (spec * api.DeploymentSpec ) {
71- gspec := spec .GetServerGroupSpec (testgroup )
72- gspec .Resources .Limits = v1.ResourceList {
73- v1 .ResourceCPU : size1CPU ,
74- }
75- spec .UpdateServerGroupSpec (testgroup , gspec )
76- })
77- assert .NoError (t , err , fmt .Sprintf ("Failed to update deployment: %s" , err ))
78-
79- _ , err = waitUntilDeployment (deploymentClient , depl .GetName (), ns , resourcesAsRequested (kubecli , ns ))
80- assert .NoError (t , err , fmt .Sprintf ("Deployment not rotated in time: %s" , err ))
81-
82- depl , err = updateDeployment (c , depl .GetName (), ns , func (spec * api.DeploymentSpec ) {
83- gspec := spec .GetServerGroupSpec (testgroup )
84- gspec .Resources .Requests = v1.ResourceList {
85- v1 .ResourceCPU : size500mCPU ,
86- }
87- spec .UpdateServerGroupSpec (testgroup , gspec )
88- })
89- assert .NoError (t , err , fmt .Sprintf ("Failed to update deployment: %s" , err ))
104+ for i , testCase := range testCases {
105+ t .Run (fmt .Sprintf ("case-%d" , i + 1 ), func (t * testing.T ) {
106+ depl , err = updateDeployment (c , depl .GetName (), ns , func (spec * api.DeploymentSpec ) {
107+ gspec := spec .GetServerGroupSpec (testgroup )
108+ gspec .Resources = testCase
109+ spec .UpdateServerGroupSpec (testgroup , gspec )
110+ })
111+ assert .NoError (t , err , fmt .Sprintf ("Failed to update deployment: %s" , err ))
90112
91- _ , err = waitUntilDeployment (deploymentClient , depl .GetName (), ns , resourcesAsRequested (kubecli , ns ))
92- assert .NoError (t , err , fmt .Sprintf ("Deployment not rotated in time: %s" , err ))
113+ _ , err = waitUntilDeployment (deploymentClient , depl .GetName (), ns , resourcesAsRequested (kubecli , ns ))
114+ assert .NoError (t , err , fmt .Sprintf ("Deployment not rotated in time: %s" , err ))
115+ })
116+ }
93117 })
94118 }
95119
0 commit comments