From ef0f5a05c9a3cdb7bad1a67336b106ae0c8fcde3 Mon Sep 17 00:00:00 2001 From: Petr Slavchenkov Date: Wed, 15 Nov 2023 07:41:13 +0000 Subject: [PATCH] Fix proxysql get mariadb_backup_database_password Implements: Kolla Ansible Closes-Bug: #2043554 Change-Id: I5648a79b4aa1960f1984a5179e3dfc3f0982c709 --- kolla_ansible/database_shards.py | 1 + kolla_ansible/tests/unit/test_database_filters.py | 14 +++++++++++--- ...-backup-database-password-54f43ecf102fb897.yaml | 4 ++++ 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/Fix-proxysql-mariadb-backup-database-password-54f43ecf102fb897.yaml diff --git a/kolla_ansible/database_shards.py b/kolla_ansible/database_shards.py index b607e5bbbc..8ffcb7b91f 100644 --- a/kolla_ansible/database_shards.py +++ b/kolla_ansible/database_shards.py @@ -121,6 +121,7 @@ def database_shards_info(context, hostnames): raise FilterError("'mariadb_shard_backup_user_prefix' " "variable is unavailable") db_user = f"{db_backup_prefix}{host_shard_id}" + db_password = host.get('mariadb_backup_database_password') user_dict = {'password': db_password, 'user': db_user, 'shard_id': host_shard_id} shards_info['users'].append(user_dict) diff --git a/kolla_ansible/tests/unit/test_database_filters.py b/kolla_ansible/tests/unit/test_database_filters.py index 947bd3d572..79f6947e4c 100644 --- a/kolla_ansible/tests/unit/test_database_filters.py +++ b/kolla_ansible/tests/unit/test_database_filters.py @@ -53,6 +53,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): root_prefix = 'root_shard_' backup_prefix = 'backup_shard_' db_cred = 'SECRET' + backup_db_cred = 'SECRET1' db_shards = ['0', '1'] context = self._make_context({ @@ -62,6 +63,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): 'mariadb_shard_id': db_shards[0], 'enable_mariabackup': enable_mariabackup, 'database_password': db_cred, + 'mariadb_backup_database_password': backup_db_cred, 'mariadb_shard_root_user_prefix': root_prefix, 'mariadb_shard_backup_user_prefix': backup_prefix, }, @@ -69,6 +71,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): 'mariadb_shard_id': db_shards[0], 'enable_mariabackup': enable_mariabackup, 'database_password': db_cred, + 'mariadb_backup_database_password': backup_db_cred, 'mariadb_shard_root_user_prefix': root_prefix, 'mariadb_shard_backup_user_prefix': backup_prefix, }, @@ -76,6 +79,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): 'mariadb_shard_id': db_shards[1], 'enable_mariabackup': enable_mariabackup, 'database_password': db_cred, + 'mariadb_backup_database_password': backup_db_cred, 'mariadb_shard_root_user_prefix': root_prefix, 'mariadb_shard_backup_user_prefix': backup_prefix, }, @@ -103,7 +107,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): "user": f"{root_prefix}0" }, { - "password": db_cred, + "password": backup_db_cred, "shard_id": db_shards[0], "user": f"{backup_prefix}0" }, @@ -113,7 +117,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): "user": f"{root_prefix}1" }, { - "password": db_cred, + "password": backup_db_cred, "shard_id": db_shards[1], "user": f"{backup_prefix}1" } @@ -188,6 +192,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): root_prefix_2 = 'batman_shard_' backup_prefix = 'backupman_shard_' db_cred = 'kRypTonyte' + backup_db_cred = 'kRypTonyte1' db_shards = ['0', '1'] context = self._make_context({ @@ -197,6 +202,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): 'mariadb_shard_id': db_shards[0], 'enable_mariabackup': enable_mariabackup, 'database_password': db_cred, + 'mariadb_backup_database_password': backup_db_cred, 'mariadb_shard_root_user_prefix': root_prefix, 'mariadb_shard_backup_user_prefix': backup_prefix, }, @@ -204,6 +210,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): 'mariadb_shard_id': db_shards[0], 'enable_mariabackup': enable_mariabackup, 'database_password': db_cred, + 'mariadb_backup_database_password': backup_db_cred, 'mariadb_shard_root_user_prefix': root_prefix, 'mariadb_shard_backup_user_prefix': backup_prefix, }, @@ -211,6 +218,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): 'mariadb_shard_id': db_shards[1], 'enable_mariabackup': 'no', 'database_password': db_cred, + 'mariadb_backup_database_password': backup_db_cred, 'mariadb_shard_root_user_prefix': root_prefix_2, }, }, @@ -237,7 +245,7 @@ class TestKollaDatabaseShardsInfoFilter(unittest.TestCase): "user": f"{root_prefix}0" }, { - "password": db_cred, + "password": backup_db_cred, "shard_id": db_shards[0], "user": f"{backup_prefix}0" }, diff --git a/releasenotes/notes/Fix-proxysql-mariadb-backup-database-password-54f43ecf102fb897.yaml b/releasenotes/notes/Fix-proxysql-mariadb-backup-database-password-54f43ecf102fb897.yaml new file mode 100644 index 0000000000..d2cddc5dbd --- /dev/null +++ b/releasenotes/notes/Fix-proxysql-mariadb-backup-database-password-54f43ecf102fb897.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + Fix MariaDB backup if enable_proxysql is enable