aboutsummaryrefslogtreecommitdiff
path: root/tests/test-proxysql.sh
diff options
context:
space:
mode:
authorMatus Jenca <matus.jenca@dnation.cloud>2024-04-15 17:01:54 +0200
committerMichal Arbet <michal.arbet@ultimum.io>2024-10-25 14:38:39 +0000
commit23413d4e0f74a8f94f8c5e1e5fceb61c7d7d8327 (patch)
tree3afdce87d53d8b2d326447a9a7effd8b669b27ef /tests/test-proxysql.sh
parent0fac8bc4c670d3c6900d63f9c930bf39e2bbe10f (diff)
downloadkolla-ansible-23413d4e0f74a8f94f8c5e1e5fceb61c7d7d8327.tar.gz
kolla-ansible-23413d4e0f74a8f94f8c5e1e5fceb61c7d7d8327.zip
Add backend TLS between MariaDB and ProxySQL
This commit adds TLS connection between ProxySQL and MariaDB. Frontend TLS ( between services and ProxySQL) will be added in another commit. Parialy Implements: mariadb-ssl-support Change-Id: I154cbb096469c5515c9d8156c2c1c5dd07b95849 Signed-off-by: Matus Jenca <matus.jenca@dnation.cloud>
Diffstat (limited to 'tests/test-proxysql.sh')
-rwxr-xr-xtests/test-proxysql.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/test-proxysql.sh b/tests/test-proxysql.sh
new file mode 100755
index 000000000..122048f9d
--- /dev/null
+++ b/tests/test-proxysql.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+set -o xtrace
+set -o pipefail
+
+
+function test_proxysql_connection_logged {
+ mariadb -h $VIP -P$DATABASE_PORT -u$DATABASE_USER -p$DATABASE_PASSWORD -e 'SHOW TABLES'
+}
+
+function test_proxysql {
+ test_proxysql_connection_logged > /tmp/logs/ansible/test-proxysql 2>&1
+ result=$?
+ echo $result
+ if [[ $result != 0 ]]; then
+ echo "Testing ProxySQL failed. See ansible/test-proxysql for details"
+ else
+ echo "Successfully tested ProxySQL. See ansible/test-proxysql for details"
+ fi
+ return $result
+}
+function test_proxysql_ssl_connection {
+ query="SELECT SUBSTRING_INDEX(variable_value, ',', -1) AS '' FROM information_schema.session_status WHERE variable_name = 'Ssl_cipher' LIMIT 1;"
+ result=$(mariadb -h $VIP -P$DATABASE_PORT -u$DATABASE_USER -p$DATABASE_PASSWORD -e "$query" --silent)
+ echo $result
+ if [[ "$result" =~ ^[[:space:]]*$ || -z "${result}" ]]; then
+ echo "ERROR: SSL is not utilized in ProxySQL"
+ return 1
+ else
+ echo "SSL connection is working properly in proxysql"
+ return 0
+ fi
+
+}
+
+DATABASE_PORT="${DATABASE_PORT:-3306}"
+DATABASE_USER="${DATABASE_USER:-root_shard_0}"
+TLS_ENABLED="${TLS_ENABLED:-false}"
+if [[ -z "${VIP}" ]]; then
+ echo "VIP not set"
+ exit 1
+fi
+
+if [[ -z "${DATABASE_PASSWORD}" ]]; then
+ DATABASE_PASSWORD=$(grep ^database_password /etc/kolla/passwords.yml | cut -d" " -f2)
+fi
+
+test_proxysql
+if [ "$TLS_ENABLED" = true ]; then
+ test_proxysql_ssl_connection
+fi
+
+
+