From 4a90fcf25f39a7b18a7e6d19ff0563d98216c0a4 Mon Sep 17 00:00:00 2001 From: ValClarkson Date: Tue, 2 Jun 2026 12:07:59 -0400 Subject: [PATCH 1/2] fix(kuttl): align standalone pgAdmin user-management asserts with python3.12 The four standalone-pgadmin-user-management assert scripts still exec setup.py out of /usr/local/lib/python3.11/site-packages/pgadmin4, which fails against the python3.12-built pgAdmin image now shipped for 5.8. Bump the path to /usr/local/lib/python3.12/site-packages/pgadmin4 in {01,03,05,07}-assert.yaml. --- .../e2e/standalone-pgadmin-user-management/01-assert.yaml | 4 ++-- .../e2e/standalone-pgadmin-user-management/03-assert.yaml | 4 ++-- .../e2e/standalone-pgadmin-user-management/05-assert.yaml | 4 ++-- .../e2e/standalone-pgadmin-user-management/07-assert.yaml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/testing/kuttl/e2e/standalone-pgadmin-user-management/01-assert.yaml b/testing/kuttl/e2e/standalone-pgadmin-user-management/01-assert.yaml index 0290339143..fb8a1b7039 100644 --- a/testing/kuttl/e2e/standalone-pgadmin-user-management/01-assert.yaml +++ b/testing/kuttl/e2e/standalone-pgadmin-user-management/01-assert.yaml @@ -6,8 +6,8 @@ commands: pod_name=$(kubectl get pod -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) secret_name=$(kubectl get secret -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) - # /usr/local/lib/python3.11/site-packages/pgadmin4 allows for various Python versions to be referenced in testing - users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.11/site-packages/pgadmin4/setup.py get-users --json") + # /usr/local/lib/python3.12/site-packages/pgadmin4 allows for various Python versions to be referenced in testing + users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.12/site-packages/pgadmin4/setup.py get-users --json") bob_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="bob@example.com") | .role') dave_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="dave@example.com") | .role') diff --git a/testing/kuttl/e2e/standalone-pgadmin-user-management/03-assert.yaml b/testing/kuttl/e2e/standalone-pgadmin-user-management/03-assert.yaml index 00c3d819fd..e32efb3442 100644 --- a/testing/kuttl/e2e/standalone-pgadmin-user-management/03-assert.yaml +++ b/testing/kuttl/e2e/standalone-pgadmin-user-management/03-assert.yaml @@ -6,8 +6,8 @@ commands: pod_name=$(kubectl get pod -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) secret_name=$(kubectl get secret -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) - # /usr/local/lib/python3.11/site-packages/pgadmin4 allows for various Python versions to be referenced in testing - users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.11/site-packages/pgadmin4/setup.py get-users --json") + # /usr/local/lib/python3.12/site-packages/pgadmin4 allows for various Python versions to be referenced in testing + users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.12/site-packages/pgadmin4/setup.py get-users --json") bob_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="bob@example.com") | .role') dave_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="dave@example.com") | .role') diff --git a/testing/kuttl/e2e/standalone-pgadmin-user-management/05-assert.yaml b/testing/kuttl/e2e/standalone-pgadmin-user-management/05-assert.yaml index f6eb83b2d9..e1a0b92f8b 100644 --- a/testing/kuttl/e2e/standalone-pgadmin-user-management/05-assert.yaml +++ b/testing/kuttl/e2e/standalone-pgadmin-user-management/05-assert.yaml @@ -6,8 +6,8 @@ commands: pod_name=$(kubectl get pod -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) secret_name=$(kubectl get secret -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) - # /usr/local/lib/python3.11/site-packages/pgadmin4 allows for various Python versions to be referenced in testing - users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.11/site-packages/pgadmin4/setup.py get-users --json") + # /usr/local/lib/python3.12/site-packages/pgadmin4 allows for various Python versions to be referenced in testing + users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.12/site-packages/pgadmin4/setup.py get-users --json") bob_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="bob@example.com") | .role') dave_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="dave@example.com") | .role') diff --git a/testing/kuttl/e2e/standalone-pgadmin-user-management/07-assert.yaml b/testing/kuttl/e2e/standalone-pgadmin-user-management/07-assert.yaml index 3e3d8396b3..bf413f6a67 100644 --- a/testing/kuttl/e2e/standalone-pgadmin-user-management/07-assert.yaml +++ b/testing/kuttl/e2e/standalone-pgadmin-user-management/07-assert.yaml @@ -6,8 +6,8 @@ commands: pod_name=$(kubectl get pod -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) secret_name=$(kubectl get secret -n "${NAMESPACE}" -l postgres-operator.crunchydata.com/pgadmin=pgadmin -o name) - # /usr/local/lib/python3.11/site-packages/pgadmin4 allows for various Python versions to be referenced in testing - users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.11/site-packages/pgadmin4/setup.py get-users --json") + # /usr/local/lib/python3.12/site-packages/pgadmin4 allows for various Python versions to be referenced in testing + users_in_pgadmin=$(kubectl exec -n "${NAMESPACE}" "${pod_name}" -- bash -c "python3 /usr/local/lib/python3.12/site-packages/pgadmin4/setup.py get-users --json") bob_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="bob@example.com") | .role') dave_role=$(printf '%s\n' $users_in_pgadmin | jq -r '.[] | select(.username=="dave@example.com") | .role') From e7c4e9d3b4e9d5331490950d8a85a11d5d846e29 Mon Sep 17 00:00:00 2001 From: ValClarkson Date: Tue, 2 Jun 2026 14:31:06 -0400 Subject: [PATCH 2/2] updated python 3.12 --- internal/controller/standalone_pgadmin/config.go | 2 +- internal/controller/standalone_pgadmin/pod_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/controller/standalone_pgadmin/config.go b/internal/controller/standalone_pgadmin/config.go index 934c9fc5b9..abd09d889c 100644 --- a/internal/controller/standalone_pgadmin/config.go +++ b/internal/controller/standalone_pgadmin/config.go @@ -15,5 +15,5 @@ const ( pgAdminPort = 5050 // Directory for pgAdmin in container - pgAdminDir = "/usr/local/lib/python3.11/site-packages/pgadmin4" + pgAdminDir = "/usr/local/lib/python3.12/site-packages/pgadmin4" ) diff --git a/internal/controller/standalone_pgadmin/pod_test.go b/internal/controller/standalone_pgadmin/pod_test.go index ab807e42f8..0e67333638 100644 --- a/internal/controller/standalone_pgadmin/pod_test.go +++ b/internal/controller/standalone_pgadmin/pod_test.go @@ -45,7 +45,7 @@ containers: - |- monitor() { export PGADMIN_SETUP_PASSWORD="$(date +%s | sha256sum | base64 | head -c 32)" - PGADMIN_DIR=/usr/local/lib/python3.11/site-packages/pgadmin4 + PGADMIN_DIR=/usr/local/lib/python3.12/site-packages/pgadmin4 APP_RELEASE=$(cd $PGADMIN_DIR && python3 -c "import config; print(config.APP_RELEASE)") echo "Running pgAdmin4 Setup" @@ -246,7 +246,7 @@ containers: - |- monitor() { export PGADMIN_SETUP_PASSWORD="$(date +%s | sha256sum | base64 | head -c 32)" - PGADMIN_DIR=/usr/local/lib/python3.11/site-packages/pgadmin4 + PGADMIN_DIR=/usr/local/lib/python3.12/site-packages/pgadmin4 APP_RELEASE=$(cd $PGADMIN_DIR && python3 -c "import config; print(config.APP_RELEASE)") echo "Running pgAdmin4 Setup"