This is an automated email from the ASF dual-hosted git repository.

husseinawala pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 38e6607cc8 Fix metadata DB & port in Keda connection when usePgbouncer 
is false (#34741)
38e6607cc8 is described below

commit 38e6607cc855f55666b817177103585f080d6173
Author: Hussein Awala <huss...@awala.fr>
AuthorDate: Sat Oct 7 19:53:35 2023 +0200

    Fix metadata DB & port in Keda connection when usePgbouncer is false 
(#34741)
    
    * Fix metadata port in Keda connection when usePgbouncer is false
    
    * load the correct database name
    
    * Fix a typo
---
 chart/templates/secrets/metadata-connection-secret.yaml |  8 +++++---
 helm_tests/other/test_keda.py                           | 10 ++++++++--
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/chart/templates/secrets/metadata-connection-secret.yaml 
b/chart/templates/secrets/metadata-connection-secret.yaml
index b2622180d0..c25156d118 100644
--- a/chart/templates/secrets/metadata-connection-secret.yaml
+++ b/chart/templates/secrets/metadata-connection-secret.yaml
@@ -25,8 +25,10 @@
 {{- $metadataHost := .Values.data.metadataConnection.host | default 
$defaultMetadataHost }}
 {{- $pgbouncerHost := (printf "%s-%s.%s" ( include "airflow.fullname" . ) 
"pgbouncer" .Release.Namespace) }}
 {{- $host := ternary $pgbouncerHost $metadataHost .Values.pgbouncer.enabled }}
-{{- $port := ((ternary .Values.ports.pgbouncer 
.Values.data.metadataConnection.port .Values.pgbouncer.enabled) | toString) }}
-{{- $database := (ternary (printf "%s-%s" .Release.Name "metadata") 
.Values.data.metadataConnection.db .Values.pgbouncer.enabled) }}
+{{- $metadataPort := .Values.data.metadataConnection.port | toString }}
+{{- $port := ((ternary .Values.ports.pgbouncer $metadataPort 
.Values.pgbouncer.enabled) | toString) }}
+{{- $metadataDatabase := .Values.data.metadataConnection.db }}
+{{- $database := (ternary (printf "%s-%s" .Release.Name "metadata") 
$metadataDatabase .Values.pgbouncer.enabled) }}
 {{- $query := ternary (printf "sslmode=%s" 
.Values.data.metadataConnection.sslmode) "" (eq 
.Values.data.metadataConnection.protocol "postgresql") }}
 apiVersion: v1
 kind: Secret
@@ -47,7 +49,7 @@ data:
   {{- end }}
   {{- if and .Values.workers.keda.enabled .Values.pgbouncer.enabled (not 
.Values.workers.keda.usePgbouncer) }}
   {{- with .Values.data.metadataConnection }}
-  kedaConnection: {{ urlJoin (dict "scheme" .protocol "userinfo" (printf 
"%s:%s" (.user | urlquery) (.pass | urlquery) ) "host" (printf "%s:%s" 
$metadataHost $port) "path" (printf "/%s" $database) "query" $query) | b64enc | 
quote }}
+  kedaConnection: {{ urlJoin (dict "scheme" .protocol "userinfo" (printf 
"%s:%s" (.user | urlquery) (.pass | urlquery) ) "host" (printf "%s:%s" 
$metadataHost $metadataPort) "path" (printf "/%s" $metadataDatabase) "query" 
$query) | b64enc | quote }}
   {{- end }}
   {{- end }}
 {{- end }}
diff --git a/helm_tests/other/test_keda.py b/helm_tests/other/test_keda.py
index de801118ee..bf15cbfaa6 100644
--- a/helm_tests/other/test_keda.py
+++ b/helm_tests/other/test_keda.py
@@ -260,10 +260,16 @@ class TestKeda:
         assert "KEDA_DB_CONN" in worker_container_env_vars
 
         secret_data = jmespath.search("data", metadata_connection_secret)
+        connection_secret = 
base64.b64decode(secret_data["connection"]).decode()
+        keda_connection_secret = 
base64.b64decode(secret_data["kedaConnection"]).decode()
         assert "connection" in secret_data.keys()
-        assert "@release-name-pgbouncer" in 
base64.b64decode(secret_data["connection"]).decode()
+        assert "@release-name-pgbouncer" in connection_secret
+        assert ":6543" in connection_secret
+        assert "/release-name-metadata" in connection_secret
         assert "kedaConnection" in secret_data.keys()
-        assert "@release-name-postgresql" in 
base64.b64decode(secret_data["kedaConnection"]).decode()
+        assert "@release-name-postgresql" in keda_connection_secret
+        assert ":5432" in keda_connection_secret
+        assert "/postgres" in keda_connection_secret
 
         autoscaler_connection_env_var = jmespath.search(
             "spec.triggers[0].metadata.connectionFromEnv", keda_autoscaler

Reply via email to