Use the utility host for db setup tasks

Move it to the service setup host (defaults to utility[0]) instead
of the galera[0] host, and use galera_address (defaults to internal VIP)
as the endpoint instead of a local connection on the db host.

Depends-On: https://review.opendev.org/755484
Change-Id: Ic1e031510391795e0971a7fbcdfe79dc939c9bec
This commit is contained in:
Jonathan Rosser 2020-09-28 15:33:49 +01:00
parent bb55503e1f
commit 3040ca268e
3 changed files with 12 additions and 1 deletions

View File

@ -52,12 +52,14 @@ panko_system_comment: panko system user
panko_system_user_home: "/var/lib/{{ panko_system_user_name }}"
## DB info
panko_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}"
panko_db_setup_host: "{{ openstack_db_setup_host | default('localhost') }}"
panko_db_setup_python_interpreter: "{{ openstack_db_setup_python_interpreter | default((panko_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}"
panko_database_name: panko
panko_database_user: panko
panko_db_type: "mysql+pymysql"
panko_db_address: "{{ galera_address | default('127.0.0.1') }}"
panko_connection_string: "{{ panko_db_type }}://{{ panko_database_user }}:{{ panko_container_db_password }}@{{ panko_db_address }}/{{ panko_database_name }}?charset=utf8"
panko_galera_port: 3306
## uWSGI setup

View File

@ -22,12 +22,16 @@
- name: Setup Database Service (MariaDB)
delegate_to: "{{ _oslodb_setup_host }}"
vars:
ansible_python_interpreter: "{{ _oslodb_ansible_python_interpreter }}"
tags:
- common-mariadb
block:
- name: Create database for service
mysql_db:
name: "{{ item.name }}"
login_host: "{{ _oslodb_setup_endpoint | default(omit) }}"
login_port: "{{ _oslodb_setup_port | default(omit) }}"
loop: "{{ _oslodb_databases }}"
no_log: true
@ -38,5 +42,7 @@
host: "{{ item.1.host | default('%') }}"
priv: "{{ item.0.name }}.*:{{ item.1.priv | default('ALL') }}"
append_privs: yes
login_host: "{{ _oslodb_setup_endpoint | default(omit) }}"
login_port: "{{ _oslodb_setup_port | default(omit) }}"
loop: "{{ _oslodb_databases | subelements('users') }}"
no_log: true

View File

@ -37,6 +37,9 @@
- inventory_hostname == groups['panko_all'][0]
vars:
_oslodb_setup_host: "{{ panko_db_setup_host }}"
_oslodb_ansible_python_interpreter: "{{ panko_db_setup_python_interpreter }}"
_oslodb_setup_endpoint: "{{ panko_db_address }}"
_oslodb_setup_port: "{{ panko_galera_port }}"
_oslodb_databases:
- name: "{{ panko_database_name }}"
users: