@@ -3130,6 +3130,9 @@ func TestGenerateResourceRequirements(t *testing.T) {
31303130 PodRoleLabel : "spilo-role" ,
31313131 }
31323132
3133+ configWithEnabledIgnoreResourcesLimits := configResources
3134+ configWithEnabledIgnoreResourcesLimits .IgnoreResourcesLimitsAnnotationKey = "zalando.org/ignore-resources-limits"
3135+
31333136 tests := []struct {
31343137 subTest string
31353138 config config.Config
@@ -3465,14 +3468,15 @@ func TestGenerateResourceRequirements(t *testing.T) {
34653468 {
34663469 subTest : "test enforcing min cpu and memory limit" ,
34673470 config : config.Config {
3468- Resources : configResources ,
3471+ Resources : configWithEnabledIgnoreResourcesLimits ,
34693472 PodManagementPolicy : "ordered_ready" ,
34703473 SetMemoryRequestToLimit : false ,
34713474 },
34723475 pgSpec : acidv1.Postgresql {
34733476 ObjectMeta : metav1.ObjectMeta {
3474- Name : clusterName ,
3475- Namespace : namespace ,
3477+ Name : clusterName ,
3478+ Namespace : namespace ,
3479+ Annotations : map [string ]string {"zalando.org/ignore-resources-limits" : "false" },
34763480 },
34773481 Spec : acidv1.PostgresSpec {
34783482 Resources : & acidv1.Resources {
@@ -3490,6 +3494,35 @@ func TestGenerateResourceRequirements(t *testing.T) {
34903494 ResourceLimits : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("250m" ), Memory : k8sutil .StringToPointer ("250Mi" )},
34913495 },
34923496 },
3497+ {
3498+ subTest : "ingnore min cpu and memory limit threshold" ,
3499+ config : config.Config {
3500+ Resources : configWithEnabledIgnoreResourcesLimits ,
3501+ PodManagementPolicy : "ordered_ready" ,
3502+ SetMemoryRequestToLimit : false ,
3503+ },
3504+ pgSpec : acidv1.Postgresql {
3505+ ObjectMeta : metav1.ObjectMeta {
3506+ Name : clusterName ,
3507+ Namespace : namespace ,
3508+ Annotations : map [string ]string {"zalando.org/ignore-resources-limits" : "true" },
3509+ },
3510+ Spec : acidv1.PostgresSpec {
3511+ Resources : & acidv1.Resources {
3512+ ResourceRequests : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("100m" ), Memory : k8sutil .StringToPointer ("100Mi" )},
3513+ ResourceLimits : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("200m" ), Memory : k8sutil .StringToPointer ("200Mi" )},
3514+ },
3515+ TeamID : "acid" ,
3516+ Volume : acidv1.Volume {
3517+ Size : "1G" ,
3518+ },
3519+ },
3520+ },
3521+ expectedResources : acidv1.Resources {
3522+ ResourceRequests : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("100m" ), Memory : k8sutil .StringToPointer ("100Mi" )},
3523+ ResourceLimits : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("200m" ), Memory : k8sutil .StringToPointer ("200Mi" )},
3524+ },
3525+ },
34933526 {
34943527 subTest : "test min cpu and memory limit are not enforced on sidecar" ,
34953528 config : config.Config {
@@ -3527,14 +3560,15 @@ func TestGenerateResourceRequirements(t *testing.T) {
35273560 {
35283561 subTest : "test enforcing max cpu and memory requests" ,
35293562 config : config.Config {
3530- Resources : configResources ,
3563+ Resources : configWithEnabledIgnoreResourcesLimits ,
35313564 PodManagementPolicy : "ordered_ready" ,
35323565 SetMemoryRequestToLimit : false ,
35333566 },
35343567 pgSpec : acidv1.Postgresql {
35353568 ObjectMeta : metav1.ObjectMeta {
3536- Name : clusterName ,
3537- Namespace : namespace ,
3569+ Name : clusterName ,
3570+ Namespace : namespace ,
3571+ Annotations : map [string ]string {"zalando.org/ignore-resources-limits" : "yes" },
35383572 },
35393573 Spec : acidv1.PostgresSpec {
35403574 Resources : & acidv1.Resources {
@@ -3552,6 +3586,35 @@ func TestGenerateResourceRequirements(t *testing.T) {
35523586 ResourceLimits : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("2" ), Memory : k8sutil .StringToPointer ("4Gi" )},
35533587 },
35543588 },
3589+ {
3590+ subTest : "ignore max cpu and memory requests limit" ,
3591+ config : config.Config {
3592+ Resources : configWithEnabledIgnoreResourcesLimits ,
3593+ PodManagementPolicy : "ordered_ready" ,
3594+ SetMemoryRequestToLimit : false ,
3595+ },
3596+ pgSpec : acidv1.Postgresql {
3597+ ObjectMeta : metav1.ObjectMeta {
3598+ Name : clusterName ,
3599+ Namespace : namespace ,
3600+ Annotations : map [string ]string {"zalando.org/ignore-resources-limits" : "true" },
3601+ },
3602+ Spec : acidv1.PostgresSpec {
3603+ Resources : & acidv1.Resources {
3604+ ResourceRequests : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("1" ), Memory : k8sutil .StringToPointer ("2Gi" )},
3605+ ResourceLimits : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("2" ), Memory : k8sutil .StringToPointer ("4Gi" )},
3606+ },
3607+ TeamID : "acid" ,
3608+ Volume : acidv1.Volume {
3609+ Size : "1G" ,
3610+ },
3611+ },
3612+ },
3613+ expectedResources : acidv1.Resources {
3614+ ResourceRequests : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("1" ), Memory : k8sutil .StringToPointer ("2Gi" )},
3615+ ResourceLimits : acidv1.ResourceDescription {CPU : k8sutil .StringToPointer ("2" ), Memory : k8sutil .StringToPointer ("4Gi" )},
3616+ },
3617+ },
35553618 {
35563619 subTest : "test SetMemoryRequestToLimit flag but raise only until max memory request" ,
35573620 config : config.Config {
0 commit comments