blob: 122048f9dab3d0dd8abdc82490c38842b6c2514f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
|