From 39fa523be425c95c877458af786b9c02979ce0a4 Mon Sep 17 00:00:00 2001 From: Michal Arbet Date: Thu, 23 May 2024 17:32:54 +0200 Subject: [PATCH] Fix venus when proxysql used This patch fixes defaults for venus so it can be used with proxysql turned on Closes-Bug: #2066937 Change-Id: I0d2eb3ea6c50801a94139312399c8f8df092b4d3 --- ansible/roles/venus/defaults/main.yml | 13 +++++++++++++ ansible/roles/venus/tasks/bootstrap.yml | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ansible/roles/venus/defaults/main.yml b/ansible/roles/venus/defaults/main.yml index 71c02b0a24..4090b50e34 100644 --- a/ansible/roles/venus/defaults/main.yml +++ b/ansible/roles/venus/defaults/main.yml @@ -42,6 +42,19 @@ venus_database_name: "venus" venus_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}venus{% endif %}" venus_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +venus_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ venus_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +venus_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +venus_database_shard: + users: + - user: "{{ venus_database_user }}" + password: "{{ venus_database_password }}" + rules: + - schema: "{{ venus_database_name }}" + shard_id: "{{ venus_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/venus/tasks/bootstrap.yml b/ansible/roles/venus/tasks/bootstrap.yml index 26f42f3458..79d3b500b7 100644 --- a/ansible/roles/venus/tasks/bootstrap.yml +++ b/ansible/roles/venus/tasks/bootstrap.yml @@ -7,7 +7,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ venus_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ venus_database_name }}" run_once: True @@ -23,7 +23,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ venus_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ venus_database_user }}" password: "{{ venus_database_password }}"