From 0e659387ff3b9749d73cf9ffcc003162735202f5 Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Fri, 16 Oct 2026 16:12:17 -0500 Subject: [PATCH] fix(openstack): drop null overrides of resources cpu limits The upstream openstack-helm charts no longer set resources.cpu.limits, so our explicit `cpu: null` overrides had nothing to cancel. ArgoCD renders them as `cpu: "0"`, which shows up as a permanent diff on the affected Deployments, StatefulSets and CronJobs. Remove the overrides and the keys left empty by their removal, along with the comment explaining them. Memory limits and CPU requests are unchanged. --- components/cinder/values.yaml | 25 ------------------------ components/glance/values.yaml | 26 ------------------------- components/horizon/values.yaml | 12 ------------ components/ironic/values.yaml | 21 -------------------- components/keystone/values.yaml | 17 ---------------- components/neutron/values.yaml | 29 ---------------------------- components/nova/values.yaml | 33 -------------------------------- components/octavia/values.yaml | 33 -------------------------------- components/placement/values.yaml | 19 ------------------ components/skyline/values.yaml | 8 -------- 10 files changed, 223 deletions(-) diff --git a/components/cinder/values.yaml b/components/cinder/values.yaml index d96fbb3fb..fdc852603 100644 --- a/components/cinder/values.yaml +++ b/components/cinder/values.yaml @@ -103,41 +103,16 @@ pod: # usually set on per-deployment basis. min_available: 0 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true api: requests: memory: "256Mi" - limits: - cpu: null scheduler: requests: memory: "256Mi" - limits: - cpu: null volume: requests: memory: "256Mi" - limits: - cpu: null - jobs: - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null - volume_usage_audit: - limits: - cpu: null # (doug.goldstein) removed the 'identity' service dependency from all components, # it is unused (the service) and other jobs wait on keystone working anyway. diff --git a/components/glance/values.yaml b/components/glance/values.yaml index 7a61912e2..93faa89d4 100644 --- a/components/glance/values.yaml +++ b/components/glance/values.yaml @@ -103,38 +103,12 @@ pod: api: min_available: 1 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true api: requests: memory: "2560Mi" limits: memory: "6144Mi" - cpu: null - jobs: - bootstrap: - limits: - cpu: null - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null - metadefs_load: - limits: - cpu: null - storage_init: - limits: - cpu: null probes: api: glance-api: diff --git a/components/horizon/values.yaml b/components/horizon/values.yaml index 11d1f4a84..717fac369 100644 --- a/components/horizon/values.yaml +++ b/components/horizon/values.yaml @@ -71,22 +71,10 @@ pod: # usually set on per-deployment basis. min_available: 0 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true server: requests: memory: "512Mi" - limits: - cpu: null - jobs: - db_sync: - limits: - cpu: null - tests: - limits: - cpu: null annotations: # we need to modify the annotations on OpenStack Helm diff --git a/components/ironic/values.yaml b/components/ironic/values.yaml index 08ef2316c..96015969a 100644 --- a/components/ironic/values.yaml +++ b/components/ironic/values.yaml @@ -352,9 +352,6 @@ pod: # allow for zero downtime ironic-api deployments by keeping an api node online min_available: 1 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true api: requests: @@ -362,30 +359,12 @@ pod: cpu: "100m" limits: memory: "2048Mi" - cpu: null conductor: requests: memory: "1024Mi" cpu: "100m" limits: memory: "2048Mi" - cpu: null - novncproxy: - limits: - cpu: null - jobs: - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null affinity: anti: type: diff --git a/components/keystone/values.yaml b/components/keystone/values.yaml index 6827c3922..0f4fb1cdb 100644 --- a/components/keystone/values.yaml +++ b/components/keystone/values.yaml @@ -32,16 +32,12 @@ dependencies: pod: resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true api: requests: memory: "512Mi" limits: memory: "2048Mi" - cpu: null jobs: bootstrap: requests: @@ -49,91 +45,78 @@ pod: cpu: "100m" limits: memory: "4096Mi" - cpu: null domain_manage: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null db_init: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null db_sync: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null db_drop: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null rabbit_init: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null tests: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null fernet_setup: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null fernet_rotate: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null credential_setup: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null credential_rotate: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null credential_cleanup: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null image_repo_sync: requests: memory: "64Mi" cpu: "100m" limits: memory: "4096Mi" - cpu: null probes: api: api: diff --git a/components/neutron/values.yaml b/components/neutron/values.yaml index ac4eca607..a2577e041 100644 --- a/components/neutron/values.yaml +++ b/components/neutron/values.yaml @@ -184,9 +184,6 @@ pod: server: min_available: 2 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true server: # give neutron-server more CPU headroom @@ -195,32 +192,6 @@ pod: cpu: "500m" limits: memory: "8192Mi" - cpu: null - rpc_server: - limits: - cpu: null - periodic_worker: - limits: - cpu: null - ovn_maintenance_worker: - limits: - cpu: null - ironic_agent: - limits: - cpu: null - jobs: - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null # loosen the neutron-server liveness probe so a slow response during a burst # of load doesn't trigger a destructive pod restart. A liveness probe should # detect a dead process, not a busy one. Readiness failing under load is fine diff --git a/components/nova/values.yaml b/components/nova/values.yaml index c1f045268..8db8eb0f1 100644 --- a/components/nova/values.yaml +++ b/components/nova/values.yaml @@ -314,9 +314,6 @@ pod: timeoutSeconds: 10 failureThreshold: 3 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true api: # JIRA:PUC-2007 - raise osapi resources. Heavy all_tenants queries with 8 @@ -325,43 +322,13 @@ pod: cpu: "500m" memory: "512Mi" limits: - cpu: null memory: "2Gi" - api_metadata: - limits: - cpu: null conductor: requests: memory: "256Mi" - limits: - cpu: null - scheduler: - limits: - cpu: null compute_ironic: requests: memory: "256Mi" - limits: - cpu: null - jobs: - bootstrap: - limits: - cpu: null - cell_setup: - limits: - cpu: null - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null manifests: job_db_init: false diff --git a/components/octavia/values.yaml b/components/octavia/values.yaml index bd7782d97..2fc826b93 100644 --- a/components/octavia/values.yaml +++ b/components/octavia/values.yaml @@ -164,43 +164,10 @@ pod: - secret: name: octavia-ks-etc resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true api: requests: memory: "512Mi" - limits: - cpu: null - driver_agent: - limits: - cpu: null - worker: - limits: - cpu: null - housekeeping: - limits: - cpu: null - health_manager: - limits: - cpu: null - jobs: - bootstrap: - limits: - cpu: null - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null manifests: job_db_init: false diff --git a/components/placement/values.yaml b/components/placement/values.yaml index 53acc4768..ad7e56c18 100644 --- a/components/placement/values.yaml +++ b/components/placement/values.yaml @@ -52,26 +52,7 @@ pod: # usually set on per-deployment basis. min_available: 0 resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true - api: - limits: - cpu: null - jobs: - db_sync: - limits: - cpu: null - ks_endpoints: - limits: - cpu: null - ks_service: - limits: - cpu: null - ks_user: - limits: - cpu: null endpoints: oslo_db: diff --git a/components/skyline/values.yaml b/components/skyline/values.yaml index aa05cd56d..1be48984d 100644 --- a/components/skyline/values.yaml +++ b/components/skyline/values.yaml @@ -29,21 +29,13 @@ manifests: pod: resources: - # (doug.goldstein) No CPU limits, CFS throttling hurts more than it - # helps. Helm merges our values over the chart defaults, so the limits - # need an explicit null instead of just being left out. enabled: true - jobs: - db_sync: - limits: - cpu: null skyline: requests: memory: "1024Mi" cpu: "1000m" limits: memory: "2048Mi" - cpu: null annotations: # we need to modify the annotations on OpenStack Helm