From 114fcea6ca6e0022535c356666c2d3d8731e9ec8 Mon Sep 17 00:00:00 2001 From: Andrew LEcuyer Date: Tue, 5 Aug 2025 22:02:23 +0000 Subject: [PATCH] Remove Divisor from Downward API resrouceFieldRefs This means CPU and memory information will now be exposed using the default divisor for CPU and memory (with default being "1" for both). This means memory information will now be represented in bytes, as expected by pgMonitor and the CPK Metrics & Monitoring stack when consuming Downward API information. Issue: PGO-2604 --- internal/postgres/reconcile.go | 10 ---------- internal/postgres/reconcile_test.go | 24 ++++++++++++------------ 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/internal/postgres/reconcile.go b/internal/postgres/reconcile.go index 5041140b0d..81c6cc31fa 100644 --- a/internal/postgres/reconcile.go +++ b/internal/postgres/reconcile.go @@ -8,7 +8,6 @@ import ( "context" corev1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/api/resource" "github.com/crunchydata/postgres-operator/internal/config" "github.com/crunchydata/postgres-operator/internal/feature" @@ -17,11 +16,6 @@ import ( "github.com/crunchydata/postgres-operator/pkg/apis/postgres-operator.crunchydata.com/v1beta1" ) -var ( - oneMillicore = resource.MustParse("1m") - oneMebibyte = resource.MustParse("1Mi") -) - // DataVolumeMount returns the name and mount path of the PostgreSQL data volume. func DataVolumeMount() corev1.VolumeMount { return corev1.VolumeMount{Name: "postgres-data", MountPath: dataMountPath} @@ -116,28 +110,24 @@ func InstancePod(ctx context.Context, ResourceFieldRef: &corev1.ResourceFieldSelector{ ContainerName: naming.ContainerDatabase, Resource: "limits.cpu", - Divisor: oneMillicore, }, }, { Path: "cpu_request", ResourceFieldRef: &corev1.ResourceFieldSelector{ ContainerName: naming.ContainerDatabase, Resource: "requests.cpu", - Divisor: oneMillicore, }, }, { Path: "mem_limit", ResourceFieldRef: &corev1.ResourceFieldSelector{ ContainerName: naming.ContainerDatabase, Resource: "limits.memory", - Divisor: oneMebibyte, }, }, { Path: "mem_request", ResourceFieldRef: &corev1.ResourceFieldSelector{ ContainerName: naming.ContainerDatabase, Resource: "requests.memory", - Divisor: oneMebibyte, }, }, { Path: "labels", diff --git a/internal/postgres/reconcile_test.go b/internal/postgres/reconcile_test.go index 61a85d5cde..e90cb3c75d 100644 --- a/internal/postgres/reconcile_test.go +++ b/internal/postgres/reconcile_test.go @@ -351,22 +351,22 @@ volumes: - path: cpu_limit resourceFieldRef: containerName: database - divisor: 1m + divisor: "0" resource: limits.cpu - path: cpu_request resourceFieldRef: containerName: database - divisor: 1m + divisor: "0" resource: requests.cpu - path: mem_limit resourceFieldRef: containerName: database - divisor: 1Mi + divisor: "0" resource: limits.memory - path: mem_request resourceFieldRef: containerName: database - divisor: 1Mi + divisor: "0" resource: requests.memory - fieldRef: apiVersion: v1 @@ -442,22 +442,22 @@ volumes: - path: cpu_limit resourceFieldRef: containerName: database - divisor: 1m + divisor: "0" resource: limits.cpu - path: cpu_request resourceFieldRef: containerName: database - divisor: 1m + divisor: "0" resource: requests.cpu - path: mem_limit resourceFieldRef: containerName: database - divisor: 1Mi + divisor: "0" resource: limits.memory - path: mem_request resourceFieldRef: containerName: database - divisor: 1Mi + divisor: "0" resource: requests.memory - fieldRef: apiVersion: v1 @@ -666,22 +666,22 @@ volumes: - path: cpu_limit resourceFieldRef: containerName: database - divisor: 1m + divisor: "0" resource: limits.cpu - path: cpu_request resourceFieldRef: containerName: database - divisor: 1m + divisor: "0" resource: requests.cpu - path: mem_limit resourceFieldRef: containerName: database - divisor: 1Mi + divisor: "0" resource: limits.memory - path: mem_request resourceFieldRef: containerName: database - divisor: 1Mi + divisor: "0" resource: requests.memory - fieldRef: apiVersion: v1