|
5 | 5 | "fmt" |
6 | 6 | "reflect" |
7 | 7 | "sort" |
8 | | - "time" |
9 | | - |
10 | 8 | "testing" |
| 9 | + "time" |
11 | 10 |
|
12 | 11 | "github.com/stretchr/testify/assert" |
13 | 12 |
|
@@ -3081,6 +3080,131 @@ func TestGenerateResourceRequirements(t *testing.T) { |
3081 | 3080 | ResourceLimits: acidv1.ResourceDescription{CPU: "1", Memory: "2Gi"}, |
3082 | 3081 | }, |
3083 | 3082 | }, |
| 3083 | + { |
| 3084 | + subTest: "test HugePages are not set on container when not requested in manifest", |
| 3085 | + config: config.Config{ |
| 3086 | + Resources: configResources, |
| 3087 | + PodManagementPolicy: "ordered_ready", |
| 3088 | + }, |
| 3089 | + pgSpec: acidv1.Postgresql{ |
| 3090 | + ObjectMeta: metav1.ObjectMeta{ |
| 3091 | + Name: clusterName, |
| 3092 | + Namespace: namespace, |
| 3093 | + }, |
| 3094 | + Spec: acidv1.PostgresSpec{ |
| 3095 | + Resources: &acidv1.Resources{ |
| 3096 | + ResourceRequests: acidv1.ResourceDescription{}, |
| 3097 | + ResourceLimits: acidv1.ResourceDescription{}, |
| 3098 | + }, |
| 3099 | + TeamID: "acid", |
| 3100 | + Volume: acidv1.Volume{ |
| 3101 | + Size: "1G", |
| 3102 | + }, |
| 3103 | + }, |
| 3104 | + }, |
| 3105 | + expectedResources: acidv1.Resources{ |
| 3106 | + ResourceRequests: acidv1.ResourceDescription{ |
| 3107 | + CPU: "100m", |
| 3108 | + Memory: "100Mi", |
| 3109 | + }, |
| 3110 | + ResourceLimits: acidv1.ResourceDescription{ |
| 3111 | + CPU: "1", |
| 3112 | + Memory: "500Mi", |
| 3113 | + }, |
| 3114 | + }, |
| 3115 | + }, |
| 3116 | + { |
| 3117 | + subTest: "test HugePages are passed through to the postgres container", |
| 3118 | + config: config.Config{ |
| 3119 | + Resources: configResources, |
| 3120 | + PodManagementPolicy: "ordered_ready", |
| 3121 | + }, |
| 3122 | + pgSpec: acidv1.Postgresql{ |
| 3123 | + ObjectMeta: metav1.ObjectMeta{ |
| 3124 | + Name: clusterName, |
| 3125 | + Namespace: namespace, |
| 3126 | + }, |
| 3127 | + Spec: acidv1.PostgresSpec{ |
| 3128 | + Resources: &acidv1.Resources{ |
| 3129 | + ResourceRequests: acidv1.ResourceDescription{ |
| 3130 | + HugePages2Mi: "128Mi", |
| 3131 | + HugePages1Gi: "1Gi", |
| 3132 | + }, |
| 3133 | + ResourceLimits: acidv1.ResourceDescription{ |
| 3134 | + HugePages2Mi: "256Mi", |
| 3135 | + HugePages1Gi: "2Gi", |
| 3136 | + }, |
| 3137 | + }, |
| 3138 | + TeamID: "acid", |
| 3139 | + Volume: acidv1.Volume{ |
| 3140 | + Size: "1G", |
| 3141 | + }, |
| 3142 | + }, |
| 3143 | + }, |
| 3144 | + expectedResources: acidv1.Resources{ |
| 3145 | + ResourceRequests: acidv1.ResourceDescription{ |
| 3146 | + CPU: "100m", |
| 3147 | + Memory: "100Mi", |
| 3148 | + HugePages2Mi: "128Mi", |
| 3149 | + HugePages1Gi: "1Gi", |
| 3150 | + }, |
| 3151 | + ResourceLimits: acidv1.ResourceDescription{ |
| 3152 | + CPU: "1", |
| 3153 | + Memory: "500Mi", |
| 3154 | + HugePages2Mi: "256Mi", |
| 3155 | + HugePages1Gi: "2Gi", |
| 3156 | + }, |
| 3157 | + }, |
| 3158 | + }, |
| 3159 | + { |
| 3160 | + subTest: "test HugePages are passed through on sidecars", |
| 3161 | + config: config.Config{ |
| 3162 | + Resources: configResources, |
| 3163 | + PodManagementPolicy: "ordered_ready", |
| 3164 | + }, |
| 3165 | + pgSpec: acidv1.Postgresql{ |
| 3166 | + ObjectMeta: metav1.ObjectMeta{ |
| 3167 | + Name: clusterName, |
| 3168 | + Namespace: namespace, |
| 3169 | + }, |
| 3170 | + Spec: acidv1.PostgresSpec{ |
| 3171 | + Sidecars: []acidv1.Sidecar{ |
| 3172 | + { |
| 3173 | + Name: "test-sidecar", |
| 3174 | + DockerImage: "test-image", |
| 3175 | + Resources: &acidv1.Resources{ |
| 3176 | + ResourceRequests: acidv1.ResourceDescription{ |
| 3177 | + HugePages2Mi: "128Mi", |
| 3178 | + HugePages1Gi: "1Gi", |
| 3179 | + }, |
| 3180 | + ResourceLimits: acidv1.ResourceDescription{ |
| 3181 | + HugePages2Mi: "256Mi", |
| 3182 | + HugePages1Gi: "2Gi", |
| 3183 | + }, |
| 3184 | + }, |
| 3185 | + }, |
| 3186 | + }, |
| 3187 | + TeamID: "acid", |
| 3188 | + Volume: acidv1.Volume{ |
| 3189 | + Size: "1G", |
| 3190 | + }, |
| 3191 | + }, |
| 3192 | + }, |
| 3193 | + expectedResources: acidv1.Resources{ |
| 3194 | + ResourceRequests: acidv1.ResourceDescription{ |
| 3195 | + CPU: "100m", |
| 3196 | + Memory: "100Mi", |
| 3197 | + HugePages2Mi: "128Mi", |
| 3198 | + HugePages1Gi: "1Gi", |
| 3199 | + }, |
| 3200 | + ResourceLimits: acidv1.ResourceDescription{ |
| 3201 | + CPU: "1", |
| 3202 | + Memory: "500Mi", |
| 3203 | + HugePages2Mi: "256Mi", |
| 3204 | + HugePages1Gi: "2Gi", |
| 3205 | + }, |
| 3206 | + }, |
| 3207 | + }, |
3084 | 3208 | } |
3085 | 3209 |
|
3086 | 3210 | for _, tt := range tests { |
|
0 commit comments