@@ -27,7 +27,6 @@ import (
27
27
"time"
28
28
29
29
"github.com/openshift/library-go/pkg/crypto"
30
-
31
30
monv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
32
31
33
32
configv1 "github.com/openshift/api/config/v1"
@@ -3365,12 +3364,33 @@ nodeExporter:
3365
3364
3366
3365
}
3367
3366
3367
+ func compareResources (gotResources , configResources * v1.ResourceRequirements ) error {
3368
+ if _ , ok := configResources .Limits [v1 .ResourceCPU ]; ok {
3369
+ if gotResources .Limits [v1 .ResourceCPU ] != configResources .Limits [v1 .ResourceCPU ] {
3370
+ return fmt .Errorf ("CPU limit incorrectly configured" )
3371
+ }
3372
+ }
3373
+ if _ , ok := configResources .Limits [v1 .ResourceMemory ]; ok {
3374
+ if gotResources .Limits [v1 .ResourceMemory ] != configResources .Limits [v1 .ResourceMemory ] {
3375
+ return fmt .Errorf ("memory limit incorrectly configured" )
3376
+ }
3377
+ }
3378
+ if _ , ok := configResources .Requests [v1 .ResourceCPU ]; ok {
3379
+ if gotResources .Requests [v1 .ResourceCPU ] != configResources .Requests [v1 .ResourceCPU ] {
3380
+ return fmt .Errorf ("CPU request incorrectly configured" )
3381
+ }
3382
+ }
3383
+ if _ , ok := configResources .Requests [v1 .ResourceMemory ]; ok {
3384
+ if gotResources .Requests [v1 .ResourceMemory ] != configResources .Requests [v1 .ResourceMemory ] {
3385
+ return fmt .Errorf ("memory request incorrectly configured" )
3386
+ }
3387
+ }
3388
+ return nil
3389
+ }
3390
+
3368
3391
func TestKubeStateMetrics (t * testing.T ) {
3369
3392
config := `kubeStateMetrics:
3370
3393
resources:
3371
- requests:
3372
- cpu: 100m
3373
- memory: 100Mi
3374
3394
limits:
3375
3395
cpu: 200m
3376
3396
memory: 200Mi
@@ -3406,8 +3426,11 @@ func TestKubeStateMetrics(t *testing.T) {
3406
3426
if container .Image != "docker.io/openshift/origin-kube-state-metrics:latest" {
3407
3427
t .Fatal ("kube-state-metrics image incorrectly configured" )
3408
3428
}
3409
- if ! reflect .DeepEqual (container .Resources , * f .config .ClusterMonitoringConfiguration .KubeStateMetricsConfig .Resources ) {
3410
- t .Fatal ("kube-state-metrics resources incorrectly configured" )
3429
+ gotResources := container .Resources // these resources will be based on the defaults, and overridden by the config
3430
+ configResources := * f .config .ClusterMonitoringConfiguration .KubeStateMetricsConfig .Resources
3431
+ err := compareResources (& gotResources , & configResources )
3432
+ if err != nil {
3433
+ t .Fatalf ("kube-state-metrics resources incorrectly configured: %v" , err )
3411
3434
}
3412
3435
case "kube-rbac-proxy-self" , "kube-rbac-proxy-main" :
3413
3436
if container .Image != "docker.io/openshift/origin-kube-rbac-proxy:latest" {
0 commit comments