diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index f472a9d922..b0c4971767 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -1031,6 +1031,11 @@ nova_safety_upgrade: "no" # Valid options are [ none, novnc, spice ] nova_console: "novnc" +####################### +# Nova Database +####################### +nova_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" + ####################### # Murano options ####################### diff --git a/ansible/roles/aodh/defaults/main.yml b/ansible/roles/aodh/defaults/main.yml index aa35e37d9f..c3a888d0f1 100644 --- a/ansible/roles/aodh/defaults/main.yml +++ b/ansible/roles/aodh/defaults/main.yml @@ -63,6 +63,20 @@ aodh_database_name: "aodh" aodh_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}aodh{% endif %}" aodh_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +aodh_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ aodh_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +aodh_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +aodh_database_shard: + users: + - user: "{{ aodh_database_user }}" + password: "{{ aodh_database_password }}" + rules: + - schema: "{{ aodh_database_name }}" + shard_id: "{{ aodh_database_shard_id }}" + + #################### # Notification #################### diff --git a/ansible/roles/aodh/tasks/bootstrap.yml b/ansible/roles/aodh/tasks/bootstrap.yml index 97738e4bb4..a78c1c2afb 100644 --- a/ansible/roles/aodh/tasks/bootstrap.yml +++ b/ansible/roles/aodh/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ aodh_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ aodh_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ aodh_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ aodh_database_user }}" password: "{{ aodh_database_password }}" diff --git a/ansible/roles/barbican/defaults/main.yml b/ansible/roles/barbican/defaults/main.yml index 7efcae346c..8463b3aa99 100644 --- a/ansible/roles/barbican/defaults/main.yml +++ b/ansible/roles/barbican/defaults/main.yml @@ -48,6 +48,19 @@ barbican_database_name: "barbican" barbican_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}barbican{% endif %}" barbican_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +barbican_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ barbican_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +barbican_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +barbican_database_shard: + users: + - user: "{{ barbican_database_user }}" + password: "{{ barbican_database_password }}" + rules: + - schema: "{{ barbican_database_name }}" + shard_id: "{{ barbican_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/barbican/tasks/bootstrap.yml b/ansible/roles/barbican/tasks/bootstrap.yml index e94dde3af4..7f80093f20 100644 --- a/ansible/roles/barbican/tasks/bootstrap.yml +++ b/ansible/roles/barbican/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ barbican_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ barbican_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ barbican_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ barbican_database_user }}" password: "{{ barbican_database_password }}" diff --git a/ansible/roles/blazar/defaults/main.yml b/ansible/roles/blazar/defaults/main.yml index 0d95469c6e..36d9d24a13 100644 --- a/ansible/roles/blazar/defaults/main.yml +++ b/ansible/roles/blazar/defaults/main.yml @@ -41,6 +41,19 @@ blazar_database_name: "blazar" blazar_database_user: "blazar" blazar_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +blazar_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ blazar_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +blazar_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +blazar_database_shard: + users: + - user: "{{ blazar_database_user }}" + password: "{{ blazar_database_password }}" + rules: + - schema: "{{ blazar_database_name }}" + shard_id: "{{ blazar_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/blazar/tasks/bootstrap.yml b/ansible/roles/blazar/tasks/bootstrap.yml index f6a24d6db6..c46a8ee993 100644 --- a/ansible/roles/blazar/tasks/bootstrap.yml +++ b/ansible/roles/blazar/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ blazar_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ blazar_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ blazar_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ blazar_database_name }}" password: "{{ blazar_database_password }}" diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml index e40083a57a..48a46318fa 100644 --- a/ansible/roles/cinder/defaults/main.yml +++ b/ansible/roles/cinder/defaults/main.yml @@ -59,6 +59,20 @@ cinder_database_name: "cinder" cinder_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}cinder{% endif %}" cinder_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +cinder_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ cinder_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +cinder_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +cinder_database_shard: + users: + - user: "{{ cinder_database_user }}" + password: "{{ cinder_database_password }}" + rules: + - schema: "{{ cinder_database_name }}" + shard_id: "{{ cinder_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/cinder/tasks/bootstrap.yml b/ansible/roles/cinder/tasks/bootstrap.yml index e36a403536..25f2e37338 100644 --- a/ansible/roles/cinder/tasks/bootstrap.yml +++ b/ansible/roles/cinder/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ cinder_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ cinder_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ cinder_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ cinder_database_user }}" password: "{{ cinder_database_password }}" diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index 2687a34af9..8627be1cb4 100644 --- a/ansible/roles/cloudkitty/defaults/main.yml +++ b/ansible/roles/cloudkitty/defaults/main.yml @@ -36,6 +36,19 @@ cloudkitty_database_name: "cloudkitty" cloudkitty_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}cloudkitty{% endif %}" cloudkitty_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +cloudkitty_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ cloudkitty_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +cloudkitty_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +cloudkitty_database_shard: + users: + - user: "{{ cloudkitty_database_user }}" + password: "{{ cloudkitty_database_password }}" + rules: + - schema: "{{ cloudkitty_database_name }}" + shard_id: "{{ cloudkitty_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/cloudkitty/tasks/bootstrap.yml b/ansible/roles/cloudkitty/tasks/bootstrap.yml index 3960b15267..41348dc49a 100644 --- a/ansible/roles/cloudkitty/tasks/bootstrap.yml +++ b/ansible/roles/cloudkitty/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ cloudkitty_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ cloudkitty_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ cloudkitty_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ cloudkitty_database_user }}" password: "{{ cloudkitty_database_password }}" diff --git a/ansible/roles/cyborg/defaults/main.yml b/ansible/roles/cyborg/defaults/main.yml index 3f0e842ca5..f06034255f 100644 --- a/ansible/roles/cyborg/defaults/main.yml +++ b/ansible/roles/cyborg/defaults/main.yml @@ -33,6 +33,20 @@ cyborg_database_name: "cyborg" cyborg_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}cyborg{% endif %}" cyborg_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +cyborg_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ cyborg_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +cyborg_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +cyborg_database_shard: + users: + - user: "{{ cyborg_database_user }}" + password: "{{ cyborg_database_password }}" + rules: + - schema: "{{ cyborg_database_name }}" + shard_id: "{{ cyborg_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/cyborg/tasks/bootstrap.yml b/ansible/roles/cyborg/tasks/bootstrap.yml index b03cbad442..9739bed680 100644 --- a/ansible/roles/cyborg/tasks/bootstrap.yml +++ b/ansible/roles/cyborg/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ cyborg_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ cyborg_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ cyborg_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ cyborg_database_user }}" password: "{{ cyborg_database_password }}" diff --git a/ansible/roles/designate/defaults/main.yml b/ansible/roles/designate/defaults/main.yml index da9b647c22..4346ca15ec 100644 --- a/ansible/roles/designate/defaults/main.yml +++ b/ansible/roles/designate/defaults/main.yml @@ -78,6 +78,19 @@ designate_database_name: "designate" designate_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}designate{% endif %}" designate_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +designate_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ designate_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +designate_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +designate_database_shard: + users: + - user: "{{ designate_database_user }}" + password: "{{ designate_database_password }}" + rules: + - schema: "{{ designate_database_name }}" + shard_id: "{{ designate_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/designate/tasks/bootstrap.yml b/ansible/roles/designate/tasks/bootstrap.yml index a4bc32429e..8173bb120e 100644 --- a/ansible/roles/designate/tasks/bootstrap.yml +++ b/ansible/roles/designate/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ designate_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item }}" run_once: True @@ -23,7 +23,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ designate_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item.database_user }}" password: "{{ item.database_password }}" diff --git a/ansible/roles/freezer/defaults/main.yml b/ansible/roles/freezer/defaults/main.yml index 51d9ea6460..563f3e56e3 100644 --- a/ansible/roles/freezer/defaults/main.yml +++ b/ansible/roles/freezer/defaults/main.yml @@ -38,6 +38,20 @@ freezer_es_protocol: "{{ internal_protocol }}" freezer_es_address: "{{ elasticsearch_address }}" freezer_es_port: "{{ elasticsearch_port }}" +#################### +# Database sharding +#################### +freezer_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ freezer_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +freezer_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +freezer_database_shard: + users: + - user: "{{ freezer_database_user }}" + password: "{{ freezer_database_password }}" + rules: + - schema: "{{ freezer_database_name }}" + shard_id: "{{ freezer_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/freezer/tasks/bootstrap.yml b/ansible/roles/freezer/tasks/bootstrap.yml index 3399447036..952e85d1c2 100644 --- a/ansible/roles/freezer/tasks/bootstrap.yml +++ b/ansible/roles/freezer/tasks/bootstrap.yml @@ -5,7 +5,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ freezer_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ freezer_database_name }}" become: true @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ freezer_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ freezer_database_user }}" password: "{{ freezer_database_password }}" diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml index bfd5a0ea79..94023dcb40 100644 --- a/ansible/roles/glance/defaults/main.yml +++ b/ansible/roles/glance/defaults/main.yml @@ -104,6 +104,19 @@ glance_database_name: "glance" glance_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}glance{% endif %}" glance_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +glance_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ glance_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +glance_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +glance_database_shard: + users: + - user: "{{ glance_database_user }}" + password: "{{ glance_database_password }}" + rules: + - schema: "{{ glance_database_name }}" + shard_id: "{{ glance_database_shard_id }}" + #################### # HAProxy diff --git a/ansible/roles/glance/tasks/bootstrap.yml b/ansible/roles/glance/tasks/bootstrap.yml index f80917486d..8bcf5a6f40 100644 --- a/ansible/roles/glance/tasks/bootstrap.yml +++ b/ansible/roles/glance/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ glance_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ glance_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ glance_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ glance_database_user }}" password: "{{ glance_database_password }}" diff --git a/ansible/roles/glance/tasks/bootstrap_service.yml b/ansible/roles/glance/tasks/bootstrap_service.yml index 0843153199..756d8cbf73 100644 --- a/ansible/roles/glance/tasks/bootstrap_service.yml +++ b/ansible/roles/glance/tasks/bootstrap_service.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ glance_database_shard_root_user }}" login_password: "{{ database_password }}" variable: log_bin_trust_function_creators value: 1 @@ -42,7 +42,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ glance_database_shard_root_user }}" login_password: "{{ database_password }}" variable: log_bin_trust_function_creators value: 0 diff --git a/ansible/roles/glance/tasks/rolling_upgrade.yml b/ansible/roles/glance/tasks/rolling_upgrade.yml index 6f9628b79d..2215616761 100644 --- a/ansible/roles/glance/tasks/rolling_upgrade.yml +++ b/ansible/roles/glance/tasks/rolling_upgrade.yml @@ -17,7 +17,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ glance_database_shard_root_user }}" login_password: "{{ database_password }}" variable: log_bin_trust_function_creators value: 1 @@ -107,7 +107,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ glance_database_shard_root_user }}" login_password: "{{ database_password }}" variable: log_bin_trust_function_creators value: 0 diff --git a/ansible/roles/gnocchi/defaults/main.yml b/ansible/roles/gnocchi/defaults/main.yml index 64d2fdc5f3..615ed3bfb0 100644 --- a/ansible/roles/gnocchi/defaults/main.yml +++ b/ansible/roles/gnocchi/defaults/main.yml @@ -51,6 +51,19 @@ gnocchi_database_name: "gnocchi" gnocchi_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}gnocchi{% endif %}" gnocchi_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +gnocchi_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ gnocchi_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +gnocchi_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +gnocchi_database_shard: + users: + - user: "{{ gnocchi_database_user }}" + password: "{{ gnocchi_database_password }}" + rules: + - schema: "{{ gnocchi_database_name }}" + shard_id: "{{ gnocchi_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/gnocchi/tasks/bootstrap.yml b/ansible/roles/gnocchi/tasks/bootstrap.yml index f86bdc9583..e2cb62e373 100644 --- a/ansible/roles/gnocchi/tasks/bootstrap.yml +++ b/ansible/roles/gnocchi/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ gnocchi_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ gnocchi_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ gnocchi_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ gnocchi_database_user }}" password: "{{ gnocchi_database_password }}" diff --git a/ansible/roles/grafana/defaults/main.yml b/ansible/roles/grafana/defaults/main.yml index 2d4b4e392b..18248c7f00 100644 --- a/ansible/roles/grafana/defaults/main.yml +++ b/ansible/roles/grafana/defaults/main.yml @@ -26,6 +26,20 @@ grafana_database_name: "grafana" grafana_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}grafana{% endif %}" grafana_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +grafana_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ grafana_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +grafana_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +grafana_database_shard: + users: + - user: "{{ grafana_database_user }}" + password: "{{ grafana_database_password }}" + rules: + - schema: "{{ grafana_database_name }}" + shard_id: "{{ grafana_database_shard_id }}" + + #################### # Datasource #################### diff --git a/ansible/roles/grafana/tasks/bootstrap.yml b/ansible/roles/grafana/tasks/bootstrap.yml index 4fcec904e6..5c4e56c400 100644 --- a/ansible/roles/grafana/tasks/bootstrap.yml +++ b/ansible/roles/grafana/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ grafana_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ grafana_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ grafana_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ grafana_database_user }}" password: "{{ grafana_database_password }}" diff --git a/ansible/roles/heat/defaults/main.yml b/ansible/roles/heat/defaults/main.yml index 3379137859..6d76eed2ba 100644 --- a/ansible/roles/heat/defaults/main.yml +++ b/ansible/roles/heat/defaults/main.yml @@ -62,6 +62,19 @@ heat_database_name: "heat" heat_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}heat{% endif %}" heat_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +heat_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ heat_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +heat_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +heat_database_shard: + users: + - user: "{{ heat_database_user }}" + password: "{{ heat_database_password }}" + rules: + - schema: "{{ heat_database_name }}" + shard_id: "{{ heat_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/heat/tasks/bootstrap.yml b/ansible/roles/heat/tasks/bootstrap.yml index 16e970813b..50d8b27138 100644 --- a/ansible/roles/heat/tasks/bootstrap.yml +++ b/ansible/roles/heat/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ heat_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ heat_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ heat_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ heat_database_user }}" password: "{{ heat_database_password }}" diff --git a/ansible/roles/horizon/defaults/main.yml b/ansible/roles/horizon/defaults/main.yml index 345334fdb2..989d8d5e9d 100644 --- a/ansible/roles/horizon/defaults/main.yml +++ b/ansible/roles/horizon/defaults/main.yml @@ -84,6 +84,20 @@ horizon_database_name: "horizon" horizon_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}horizon{% endif %}" horizon_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +horizon_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ horizon_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +horizon_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +horizon_database_shard: + users: + - user: "{{ horizon_database_user }}" + password: "{{ horizon_database_password }}" + rules: + - schema: "{{ horizon_database_name }}" + shard_id: "{{ horizon_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/horizon/tasks/bootstrap.yml b/ansible/roles/horizon/tasks/bootstrap.yml index 74f67f2a62..ecac253e2c 100644 --- a/ansible/roles/horizon/tasks/bootstrap.yml +++ b/ansible/roles/horizon/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ horizon_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ horizon_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ horizon_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ horizon_database_user }}" password: "{{ horizon_database_password }}" diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml index d4af66ef5d..4ff45493e3 100644 --- a/ansible/roles/ironic/defaults/main.yml +++ b/ansible/roles/ironic/defaults/main.yml @@ -96,6 +96,22 @@ ironic_inspector_database_name: "ironic_inspector" ironic_inspector_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}ironic_inspector{% endif %}" ironic_inspector_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +ironic_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ ironic_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +ironic_database_shard: + users: + - user: "{{ ironic_database_user }}" + password: "{{ ironic_database_password }}" + - user: "{{ ironic_inspector_database_user }}" + password: "{{ ironic_inspector_database_password }}" + rules: + - schema: "{{ ironic_database_name }}" + shard_id: "{{ ironic_database_shard_id }}" + - schema: "{{ ironic_inspector_database_name }}" + shard_id: "{{ ironic_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/ironic/tasks/bootstrap.yml b/ansible/roles/ironic/tasks/bootstrap.yml index e021492922..e1b9c164ae 100644 --- a/ansible/roles/ironic/tasks/bootstrap.yml +++ b/ansible/roles/ironic/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ ironic_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item.database_name }}" run_once: True @@ -27,7 +27,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ ironic_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item.database_user }}" password: "{{ item.database_password }}" diff --git a/ansible/roles/keystone/defaults/main.yml b/ansible/roles/keystone/defaults/main.yml index d07c9a594e..b525db561f 100644 --- a/ansible/roles/keystone/defaults/main.yml +++ b/ansible/roles/keystone/defaults/main.yml @@ -68,6 +68,19 @@ keystone_database_name: "keystone" keystone_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}keystone{% endif %}" keystone_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +keystone_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ keystone_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +keystone_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +keystone_database_shard: + users: + - user: "{{ keystone_database_user }}" + password: "{{ keystone_database_password }}" + rules: + - schema: "{{ keystone_database_name }}" + shard_id: "{{ keystone_database_shard_id }}" + #################### # Fernet diff --git a/ansible/roles/keystone/tasks/bootstrap.yml b/ansible/roles/keystone/tasks/bootstrap.yml index 413830864b..15f19d2b5b 100644 --- a/ansible/roles/keystone/tasks/bootstrap.yml +++ b/ansible/roles/keystone/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ keystone_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ keystone_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ keystone_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ keystone_database_user }}" password: "{{ keystone_database_password }}" diff --git a/ansible/roles/keystone/tasks/upgrade.yml b/ansible/roles/keystone/tasks/upgrade.yml index 8f98db175f..7a1df217d6 100644 --- a/ansible/roles/keystone/tasks/upgrade.yml +++ b/ansible/roles/keystone/tasks/upgrade.yml @@ -10,7 +10,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ keystone_database_shard_root_user }}" login_password: "{{ database_password }}" variable: log_bin_trust_function_creators value: 1 @@ -39,7 +39,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ keystone_database_shard_root_user }}" login_password: "{{ database_password }}" variable: log_bin_trust_function_creators value: 0 diff --git a/ansible/roles/magnum/defaults/main.yml b/ansible/roles/magnum/defaults/main.yml index 7e373e79bb..67bccb9192 100644 --- a/ansible/roles/magnum/defaults/main.yml +++ b/ansible/roles/magnum/defaults/main.yml @@ -39,6 +39,19 @@ magnum_database_name: "magnum" magnum_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}magnum{% endif %}" magnum_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +magnum_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ magnum_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +magnum_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +magnum_database_shard: + users: + - user: "{{ magnum_database_user }}" + password: "{{ magnum_database_password }}" + rules: + - schema: "{{ magnum_database_name }}" + shard_id: "{{ magnum_database_shard_id }}" + #################### # Magnum diff --git a/ansible/roles/magnum/tasks/bootstrap.yml b/ansible/roles/magnum/tasks/bootstrap.yml index a60ae37f74..bf0afa219a 100644 --- a/ansible/roles/magnum/tasks/bootstrap.yml +++ b/ansible/roles/magnum/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ magnum_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ magnum_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ magnum_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ magnum_database_user }}" password: "{{ magnum_database_password }}" diff --git a/ansible/roles/manila/defaults/main.yml b/ansible/roles/manila/defaults/main.yml index 7a0c12f89d..e01958c70a 100644 --- a/ansible/roles/manila/defaults/main.yml +++ b/ansible/roles/manila/defaults/main.yml @@ -54,6 +54,19 @@ manila_database_name: "manila" manila_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}manila{% endif %}" manila_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +manila_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ manila_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +manila_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +manila_database_shard: + users: + - user: "{{ manila_database_user }}" + password: "{{ manila_database_password }}" + rules: + - schema: "{{ manila_database_name }}" + shard_id: "{{ manila_database_shard_id }}" + ##################### ## Docker diff --git a/ansible/roles/manila/tasks/bootstrap.yml b/ansible/roles/manila/tasks/bootstrap.yml index 76dcffc0a9..061c27dedd 100644 --- a/ansible/roles/manila/tasks/bootstrap.yml +++ b/ansible/roles/manila/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ manila_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ manila_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ manila_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ manila_database_user }}" password: "{{ manila_database_password }}" diff --git a/ansible/roles/mariadb/defaults/main.yml b/ansible/roles/mariadb/defaults/main.yml index 2aae9220c7..5ab183c395 100644 --- a/ansible/roles/mariadb/defaults/main.yml +++ b/ansible/roles/mariadb/defaults/main.yml @@ -120,3 +120,4 @@ enable_mariadb_clustercheck: "{{ enable_haproxy }}" # Sharding #################### mariadb_shard_database_user: "{% if mariadb_loadbalancer == 'haproxy' %}{{ database_user }}{% else %}{{ mariadb_shard_root_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}" +mariadb_database_shard: "{{ mariadb_shards_info }}" diff --git a/ansible/roles/masakari/defaults/main.yml b/ansible/roles/masakari/defaults/main.yml index f3f40c376d..4dffcdb1bf 100644 --- a/ansible/roles/masakari/defaults/main.yml +++ b/ansible/roles/masakari/defaults/main.yml @@ -50,6 +50,20 @@ masakari_database_name: "masakari" masakari_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}masakari{% endif %}" masakari_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +masakari_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ masakari_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +masakari_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +masakari_database_shard: + users: + - user: "{{ masakari_database_user }}" + password: "{{ masakari_database_password }}" + rules: + - schema: "{{ masakari_database_name }}" + shard_id: "{{ masakari_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/masakari/tasks/bootstrap.yml b/ansible/roles/masakari/tasks/bootstrap.yml index 6e15a7f1eb..518b4bf3cc 100644 --- a/ansible/roles/masakari/tasks/bootstrap.yml +++ b/ansible/roles/masakari/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ masakari_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ masakari_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ masakari_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ masakari_database_user }}" password: "{{ masakari_database_password }}" diff --git a/ansible/roles/mistral/defaults/main.yml b/ansible/roles/mistral/defaults/main.yml index 0538ddf637..08bbfaafca 100644 --- a/ansible/roles/mistral/defaults/main.yml +++ b/ansible/roles/mistral/defaults/main.yml @@ -52,6 +52,19 @@ mistral_database_name: "mistral" mistral_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}mistral{% endif %}" mistral_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +mistral_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ mistral_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +mistral_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +mistral_database_shard: + users: + - user: "{{ mistral_database_user }}" + password: "{{ mistral_database_password }}" + rules: + - schema: "{{ mistral_database_name }}" + shard_id: "{{ mistral_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/mistral/tasks/bootstrap.yml b/ansible/roles/mistral/tasks/bootstrap.yml index 3757ff081b..d553572ff5 100644 --- a/ansible/roles/mistral/tasks/bootstrap.yml +++ b/ansible/roles/mistral/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ mistral_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ mistral_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ mistral_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ mistral_database_user }}" password: "{{ mistral_database_password }}" diff --git a/ansible/roles/monasca/defaults/main.yml b/ansible/roles/monasca/defaults/main.yml index 9ef43a5a0e..248d0790d9 100644 --- a/ansible/roles/monasca/defaults/main.yml +++ b/ansible/roles/monasca/defaults/main.yml @@ -95,6 +95,21 @@ monasca_influxdb_retention_policy: duration: "1w" replication_count: 1 +#################### +# Database sharding +#################### +monasca_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ monasca_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +monasca_database_shard: + users: + - user: "{{ monasca_database_user }}" + password: "{{ monasca_database_password }}" + rules: + - schema: "{{ monasca_database_name }}" + shard_id: "{{ monasca_database_shard_id }}" + - schema: "{{ monasca_grafana_database_name }}" + shard_id: "{{ monasca_database_shard_id }}" + + #################### # Monasca #################### diff --git a/ansible/roles/monasca/tasks/bootstrap.yml b/ansible/roles/monasca/tasks/bootstrap.yml index 0ae726e0fd..1536bcc1c3 100644 --- a/ansible/roles/monasca/tasks/bootstrap.yml +++ b/ansible/roles/monasca/tasks/bootstrap.yml @@ -1,12 +1,12 @@ --- -- name: Creating monasca database +- name: Creating monasca databases become: true kolla_toolbox: module_name: mysql_db module_args: login_host: "{{ monasca_database_address }}" login_port: "{{ monasca_database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ monasca_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item }}" run_once: True @@ -23,7 +23,7 @@ module_args: login_host: "{{ monasca_database_address }}" login_port: "{{ monasca_database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ monasca_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ monasca_database_user }}" password: "{{ monasca_database_password }}" diff --git a/ansible/roles/murano/defaults/main.yml b/ansible/roles/murano/defaults/main.yml index aed194f0b4..e725979547 100644 --- a/ansible/roles/murano/defaults/main.yml +++ b/ansible/roles/murano/defaults/main.yml @@ -34,6 +34,19 @@ murano_database_name: "murano" murano_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}murano{% endif %}" murano_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +murano_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ murano_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +murano_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +murano_database_shard: + users: + - user: "{{ murano_database_user }}" + password: "{{ murano_database_password }}" + rules: + - schema: "{{ murano_database_name }}" + shard_id: "{{ murano_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/murano/tasks/bootstrap.yml b/ansible/roles/murano/tasks/bootstrap.yml index 9698807dce..00ce24f37e 100644 --- a/ansible/roles/murano/tasks/bootstrap.yml +++ b/ansible/roles/murano/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ murano_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ murano_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ murano_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ murano_database_user }}" password: "{{ murano_database_password }}" diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml index 835c2f3333..0b8ff80b1a 100644 --- a/ansible/roles/neutron/defaults/main.yml +++ b/ansible/roles/neutron/defaults/main.yml @@ -206,6 +206,19 @@ neutron_database_name: "neutron" neutron_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}neutron{% endif %}" neutron_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +neutron_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ neutron_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +neutron_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +neutron_database_shard: + users: + - user: "{{ neutron_database_user }}" + password: "{{ neutron_database_password }}" + rules: + - schema: "{{ neutron_database_name }}" + shard_id: "{{ neutron_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/neutron/tasks/bootstrap.yml b/ansible/roles/neutron/tasks/bootstrap.yml index 89502be09e..7dc876bcb1 100644 --- a/ansible/roles/neutron/tasks/bootstrap.yml +++ b/ansible/roles/neutron/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ neutron_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ neutron_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ neutron_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ neutron_database_user }}" password: "{{ neutron_database_password }}" diff --git a/ansible/roles/nova-cell/defaults/main.yml b/ansible/roles/nova-cell/defaults/main.yml index 4cbe04422d..79c4f70077 100644 --- a/ansible/roles/nova-cell/defaults/main.yml +++ b/ansible/roles/nova-cell/defaults/main.yml @@ -136,7 +136,7 @@ nova_cell_serialproxy_group: 'nova-serialproxy' #################### # Database #################### -nova_cell_database_admin_user: "{{ database_user }}" +nova_cell_database_admin_user: "{{ nova_cell_database_shard_root_user }}" nova_cell_database_admin_password: "{{ database_password }}" nova_cell_database_name: "{{ 'nova_' ~ nova_cell_name if nova_cell_name else 'nova' }}" @@ -156,6 +156,23 @@ nova_api_database_address: "{{ database_address | put_address_in_context('url') # Optional group for cell database. If this is not defined, then the top level database is used. # nova_cell_database_group: +#################### +# Database sharding +#################### +# If nova-cell is used and proxied through proxysql +# define nova_cell_database_shard_id to shard_id +# where cell's DB will be installed. +# +# If nova-cell is not used and DBs are proxied +# through proxysql shards are same: +# - nova_cell_database_shard_id = nova_database_shard_id +nova_cell_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ nova_cell_database_shard_id | default(nova_database_shard_id) }}{% else %}{{ database_user }}{% endif %}" +nova_cell_database_shard: + users: + - user: "{{ nova_cell_database_user }}" + password: "{{ nova_cell_database_password }}" + rules: "{% set rules = [] %}{% for host in groups['nova-conductor'] %}{{ rules.append({'schema': 'nova_' ~ hostvars[host]['nova_cell_name'] if hostvars[host]['nova_cell_name'] is defined else 'nova', 'shard_id': hostvars[host]['nova_cell_database_shard_id'] if (hostvars[host]['nova_cell_name'] is defined and hostvars[host]['nova_cell_database_shard_id'] is defined ) else nova_database_shard_id}) }}{% endfor %}{{ rules }}" + #################### # RabbitMQ #################### diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index ffdcf2ee1f..7354a0f79d 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -72,6 +72,25 @@ nova_api_database_name: "nova_api" nova_api_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova_api{% endif %}" nova_api_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +nova_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ nova_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +nova_database_shard: + users: + - user: "{{ nova_database_user }}" + password: "{{ nova_database_password }}" + - user: "{{ nova_api_database_user }}" + password: "{{ nova_api_database_password }}" + rules: + - schema: "{{ nova_database_name }}" + shard_id: "{{ nova_database_shard_id }}" + - schema: "{{ nova_cell0_database_name }}" + shard_id: "{{ nova_database_shard_id }}" + - schema: "{{ nova_api_database_name }}" + shard_id: "{{ nova_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/nova/tasks/bootstrap.yml b/ansible/roles/nova/tasks/bootstrap.yml index e770dfe039..a1375720bb 100644 --- a/ansible/roles/nova/tasks/bootstrap.yml +++ b/ansible/roles/nova/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ nova_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item }}" run_once: True @@ -23,7 +23,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ nova_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ item.database_username }}" password: "{{ item.database_password }}" diff --git a/ansible/roles/octavia/defaults/main.yml b/ansible/roles/octavia/defaults/main.yml index 8af04ec28e..72eb1ba662 100644 --- a/ansible/roles/octavia/defaults/main.yml +++ b/ansible/roles/octavia/defaults/main.yml @@ -70,6 +70,19 @@ octavia_database_name: "octavia" octavia_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}octavia{% endif %}" octavia_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +octavia_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ octavia_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +octavia_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +octavia_database_shard: + users: + - user: "{{ octavia_database_user }}" + password: "{{ octavia_database_password }}" + rules: + - schema: "{{ octavia_database_name }}" + shard_id: "{{ octavia_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/octavia/tasks/bootstrap.yml b/ansible/roles/octavia/tasks/bootstrap.yml index 4b76ea70a9..9fb146b02e 100644 --- a/ansible/roles/octavia/tasks/bootstrap.yml +++ b/ansible/roles/octavia/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ octavia_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ octavia_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ octavia_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ octavia_database_user }}" password: "{{ octavia_database_password }}" diff --git a/ansible/roles/placement/defaults/main.yml b/ansible/roles/placement/defaults/main.yml index 081d9e5ee2..26532f30ef 100644 --- a/ansible/roles/placement/defaults/main.yml +++ b/ansible/roles/placement/defaults/main.yml @@ -31,6 +31,20 @@ placement_database_name: "placement" placement_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}placement{% endif %}" placement_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +placement_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ placement_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +placement_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +placement_database_shard: + users: + - user: "{{ placement_database_user }}" + password: "{{ placement_database_password }}" + rules: + - schema: "{{ placement_database_name }}" + shard_id: "{{ placement_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/placement/tasks/bootstrap.yml b/ansible/roles/placement/tasks/bootstrap.yml index 92e0f4cb1a..62b4317a92 100644 --- a/ansible/roles/placement/tasks/bootstrap.yml +++ b/ansible/roles/placement/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ placement_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ placement_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ placement_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ placement_database_user }}" password: "{{ placement_database_password }}" diff --git a/ansible/roles/prometheus/tasks/bootstrap.yml b/ansible/roles/prometheus/tasks/bootstrap.yml index 62420b24f5..79d847a030 100644 --- a/ansible/roles/prometheus/tasks/bootstrap.yml +++ b/ansible/roles/prometheus/tasks/bootstrap.yml @@ -1,20 +1,27 @@ --- - name: Creating prometheus database user and setting permissions become: true + vars: + shard_id: "{{ item.key }}" + shard_root_user: "{{ mariadb_shard_root_user_prefix }}{{ shard_id | string }}" + shard_host: "{{ mariadb_shards_info.shards[shard_id].hosts[0] }}" kolla_toolbox: module_name: mysql_user module_args: login_host: "{{ database_address }}" - login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_port: "{{ mariadb_port }}" + login_user: "{{ shard_root_user }}" login_password: "{{ database_password }}" name: "{{ prometheus_mysql_exporter_database_user }}" password: "{{ prometheus_mysql_exporter_database_password }}" host: "%" priv: "*.*:PROCESS,SLAVE MONITOR,SELECT" append_privs: "yes" + with_dict: "{{ mariadb_shards_info.shards }}" + loop_control: + label: "{{ shard_host }}" run_once: True - delegate_to: "{{ groups['prometheus'][0] }}" when: + - inventory_hostname == groups['prometheus'][0] - enable_prometheus_mysqld_exporter | bool - not use_preconfigured_databases | bool diff --git a/ansible/roles/sahara/defaults/main.yml b/ansible/roles/sahara/defaults/main.yml index 54b3b7ab62..0c1e146b8b 100644 --- a/ansible/roles/sahara/defaults/main.yml +++ b/ansible/roles/sahara/defaults/main.yml @@ -37,6 +37,19 @@ sahara_database_name: "sahara" sahara_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}sahara{% endif %}" sahara_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +sahara_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ sahara_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +sahara_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +sahara_database_shard: + users: + - user: "{{ sahara_database_user }}" + password: "{{ sahara_database_password }}" + rules: + - schema: "{{ sahara_database_name }}" + shard_id: "{{ sahara_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/sahara/tasks/bootstrap.yml b/ansible/roles/sahara/tasks/bootstrap.yml index f25439f6c1..0ab7ce99e4 100644 --- a/ansible/roles/sahara/tasks/bootstrap.yml +++ b/ansible/roles/sahara/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ sahara_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ sahara_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ sahara_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ sahara_database_user }}" password: "{{ sahara_database_password }}" diff --git a/ansible/roles/senlin/defaults/main.yml b/ansible/roles/senlin/defaults/main.yml index d01c16f017..ed81609d7a 100644 --- a/ansible/roles/senlin/defaults/main.yml +++ b/ansible/roles/senlin/defaults/main.yml @@ -53,6 +53,19 @@ senlin_database_name: "senlin" senlin_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}senlin{% endif %}" senlin_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +senlin_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ senlin_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +senlin_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +senlin_database_shard: + users: + - user: "{{ senlin_database_user }}" + password: "{{ senlin_database_password }}" + rules: + - schema: "{{ senlin_database_name }}" + shard_id: "{{ senlin_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/senlin/tasks/bootstrap.yml b/ansible/roles/senlin/tasks/bootstrap.yml index fed3edbd1d..8ff87b92a4 100644 --- a/ansible/roles/senlin/tasks/bootstrap.yml +++ b/ansible/roles/senlin/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ senlin_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ senlin_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ senlin_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ senlin_database_user }}" password: "{{ senlin_database_password }}" diff --git a/ansible/roles/solum/defaults/main.yml b/ansible/roles/solum/defaults/main.yml index 0832b5f9e8..b1166446c9 100644 --- a/ansible/roles/solum/defaults/main.yml +++ b/ansible/roles/solum/defaults/main.yml @@ -65,6 +65,19 @@ solum_database_name: "solum" solum_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}solum{% endif %}" solum_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +solum_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ solum_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +solum_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +solum_database_shard: + users: + - user: "{{ solum_database_user }}" + password: "{{ solum_database_password }}" + rules: + - schema: "{{ solum_database_name }}" + shard_id: "{{ solum_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/solum/tasks/bootstrap.yml b/ansible/roles/solum/tasks/bootstrap.yml index e89d04bbf7..cf38cbb42f 100644 --- a/ansible/roles/solum/tasks/bootstrap.yml +++ b/ansible/roles/solum/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ solum_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ solum_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ solum_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ solum_database_user }}" password: "{{ solum_database_password }}" diff --git a/ansible/roles/tacker/defaults/main.yml b/ansible/roles/tacker/defaults/main.yml index d7b11dccb5..aa67d1a549 100644 --- a/ansible/roles/tacker/defaults/main.yml +++ b/ansible/roles/tacker/defaults/main.yml @@ -39,6 +39,20 @@ tacker_database_name: "tacker" tacker_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}tacker{% endif %}" tacker_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +tacker_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ tacker_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +tacker_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +tacker_database_shard: + users: + - user: "{{ tacker_database_user }}" + password: "{{ tacker_database_password }}" + rules: + - schema: "{{ tacker_database_name }}" + shard_id: "{{ tacker_database_shard_id }}" + + ######## # Docker ######## diff --git a/ansible/roles/tacker/tasks/bootstrap.yml b/ansible/roles/tacker/tasks/bootstrap.yml index 1025cb28a4..623ca52130 100644 --- a/ansible/roles/tacker/tasks/bootstrap.yml +++ b/ansible/roles/tacker/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ tacker_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ tacker_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ tacker_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ tacker_database_user }}" password: "{{ tacker_database_password }}" diff --git a/ansible/roles/trove/defaults/main.yml b/ansible/roles/trove/defaults/main.yml index 78e39c7da5..1a64457676 100644 --- a/ansible/roles/trove/defaults/main.yml +++ b/ansible/roles/trove/defaults/main.yml @@ -44,6 +44,19 @@ trove_database_name: "trove" trove_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}trove{% endif %}" trove_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +trove_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ trove_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +trove_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +trove_database_shard: + users: + - user: "{{ trove_database_user }}" + password: "{{ trove_database_password }}" + rules: + - schema: "{{ trove_database_name }}" + shard_id: "{{ trove_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/trove/tasks/bootstrap.yml b/ansible/roles/trove/tasks/bootstrap.yml index f1f88fb729..c3d5ba5787 100644 --- a/ansible/roles/trove/tasks/bootstrap.yml +++ b/ansible/roles/trove/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ trove_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ trove_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ trove_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ trove_database_user }}" password: "{{ trove_database_password }}" diff --git a/ansible/roles/vitrage/defaults/main.yml b/ansible/roles/vitrage/defaults/main.yml index beb3938f11..cbc5ed5521 100644 --- a/ansible/roles/vitrage/defaults/main.yml +++ b/ansible/roles/vitrage/defaults/main.yml @@ -59,6 +59,20 @@ vitrage_database_name: "vitrage" vitrage_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}vitrage{% endif %}" vitrage_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +vitrage_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ vitrage_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +vitrage_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +vitrage_database_shard: + users: + - user: "{{ vitrage_database_user }}" + password: "{{ vitrage_database_password }}" + rules: + - schema: "{{ vitrage_database_name }}" + shard_id: "{{ vitrage_database_shard_id }}" + + #################### # Docker #################### diff --git a/ansible/roles/vitrage/tasks/bootstrap.yml b/ansible/roles/vitrage/tasks/bootstrap.yml index a9565717cf..2670fbf7a7 100644 --- a/ansible/roles/vitrage/tasks/bootstrap.yml +++ b/ansible/roles/vitrage/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ vitrage_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ vitrage_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ vitrage_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ vitrage_database_user }}" password: "{{ vitrage_database_password }}" diff --git a/ansible/roles/watcher/defaults/main.yml b/ansible/roles/watcher/defaults/main.yml index 0b9fed7aa6..80ad86db57 100644 --- a/ansible/roles/watcher/defaults/main.yml +++ b/ansible/roles/watcher/defaults/main.yml @@ -44,6 +44,19 @@ watcher_database_name: "watcher" watcher_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}watcher{% endif %}" watcher_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +watcher_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ watcher_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +watcher_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +watcher_database_shard: + users: + - user: "{{ watcher_database_user }}" + password: "{{ watcher_database_password }}" + rules: + - schema: "{{ watcher_database_name }}" + shard_id: "{{ watcher_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/watcher/tasks/bootstrap.yml b/ansible/roles/watcher/tasks/bootstrap.yml index 20732674be..d1622da412 100644 --- a/ansible/roles/watcher/tasks/bootstrap.yml +++ b/ansible/roles/watcher/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ watcher_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ watcher_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ watcher_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ watcher_database_user }}" password: "{{ watcher_database_password }}" diff --git a/ansible/roles/zun/defaults/main.yml b/ansible/roles/zun/defaults/main.yml index 09ca763246..bcdd17192c 100644 --- a/ansible/roles/zun/defaults/main.yml +++ b/ansible/roles/zun/defaults/main.yml @@ -64,6 +64,19 @@ zun_database_name: "zun" zun_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}zun{% endif %}" zun_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +zun_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ zun_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +zun_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +zun_database_shard: + users: + - user: "{{ zun_database_user }}" + password: "{{ zun_database_password }}" + rules: + - schema: "{{ zun_database_name }}" + shard_id: "{{ zun_database_shard_id }}" + #################### ## Docker diff --git a/ansible/roles/zun/tasks/bootstrap.yml b/ansible/roles/zun/tasks/bootstrap.yml index 94c40d0090..6b45af6eaf 100644 --- a/ansible/roles/zun/tasks/bootstrap.yml +++ b/ansible/roles/zun/tasks/bootstrap.yml @@ -6,7 +6,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ zun_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ zun_database_name }}" run_once: True @@ -21,7 +21,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ zun_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ zun_database_user }}" password: "{{ zun_database_password }}"