From 9c18a3feffad2450b4e162961f055120c021766b Mon Sep 17 00:00:00 2001 From: "Huang, Sophie (sh879n)" Date: Tue, 22 Sep 2020 00:09:08 +0000 Subject: [PATCH] Use jq to extracting data from charts "kubectl ... | grep | awk" pattern relies on having very well formed and stable output, this isn't the case and in later versions of kubernetes the managedFields cause unexpected output which breaks. This patchset replaces the "kubectl ... | grep | awk" pattern with jq to extract data. Change-Id: Ib64421fbed6a59de698010caaf682427952872fc --- .../bin/utility/_create_test_database.sh.tpl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/charts/mysqlclient-utility/templates/bin/utility/_create_test_database.sh.tpl b/charts/mysqlclient-utility/templates/bin/utility/_create_test_database.sh.tpl index 1db3319a..e55adc52 100644 --- a/charts/mysqlclient-utility/templates/bin/utility/_create_test_database.sh.tpl +++ b/charts/mysqlclient-utility/templates/bin/utility/_create_test_database.sh.tpl @@ -18,8 +18,8 @@ function cleanup { for NAMESPACE in "${BACKUP_RESTORE_NAMESPACE_ARRAY[@]}"; do - kubectl -n "$NAMESPACE" get secret mariadb-secrets -o yaml \ - | grep admin_user.cnf | awk '{print $2}' | base64 -d > "${ADMIN_USER_CNF}" + kubectl -n "$NAMESPACE" get secret mariadb-secrets -o json \ + | jq -r '.data."admin_user.cnf"' | base64 -d > "${ADMIN_USER_CNF}" USER=$(grep user "$ADMIN_USER_CNF" | awk '{print $3}') PASSWD=$(grep password "$ADMIN_USER_CNF" | awk '{print $3}') PORT=$(grep port "$ADMIN_USER_CNF" | awk '{print $3}') @@ -34,12 +34,12 @@ do else - kubectl -n "$NAMESPACE" get secret "$TLS_SECRET" -o yaml \ - | grep " ca.crt: " | awk '{print $2}' | base64 -d > "$CERT_DIR"/ca.crt - kubectl -n "$NAMESPACE" get secret "$TLS_SECRET" -o yaml \ - | grep " tls.crt: " | awk '{print $2}' | base64 -d > "$CERT_DIR"/tls.crt - kubectl -n "$NAMESPACE" get secret "$TLS_SECRET" -o yaml \ - | grep " tls.key: " | awk '{print $2}' | base64 -d > "$CERT_DIR"/tls.key + kubectl -n "$NAMESPACE" get secret "$TLS_SECRET" -o json \ + | jq -r '.data."ca.crt"' | base64 -d > "$CERT_DIR"/ca.crt + kubectl -n "$NAMESPACE" get secret "$TLS_SECRET" -o json \ + | jq -r '.data."tls.crt"' | base64 -d > "$CERT_DIR"/tls.crt + kubectl -n "$NAMESPACE" get secret "$TLS_SECRET" -o json \ + | jq -r '.data."tls.key"' | base64 -d > "$CERT_DIR"/tls.key MYSQL="mysql \ -u $USER -p${PASSWD} \