From 3e0b1ae0afd9e8f302882432cf518c1eee4971d3 Mon Sep 17 00:00:00 2001 From: Jonathan Rosser Date: Thu, 4 Jun 2020 07:38:33 +0100 Subject: [PATCH] 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/744453 Depends-On: https://review.opendev.org/744881 Change-Id: Ie52799cc2129b6e36b99ee65b237bb04a8edf18f --- defaults/main.yml | 3 ++- tasks/db_setup.yml | 6 ++++++ tasks/main.yml | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/defaults/main.yml b/defaults/main.yml index 0878bbf7..42195f73 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -98,7 +98,8 @@ keystone_resource_driver: sql keystone_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}" ## Database info -keystone_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}" +keystone_db_setup_host: "{{ openstack_db_setup_host | default('localhost') }}" +keystone_db_setup_python_interpreter: "{{ openstack_db_setup_python_interpreter | default((keystone_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}" keystone_galera_address: "{{ galera_address | default('127.0.0.1') }}" keystone_galera_user: keystone keystone_galera_database: keystone diff --git a/tasks/db_setup.yml b/tasks/db_setup.yml index 7a0120d4..aca206e4 100644 --- a/tasks/db_setup.yml +++ b/tasks/db_setup.yml @@ -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 diff --git a/tasks/main.yml b/tasks/main.yml index e5e9f420..9aa0a4de 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -69,6 +69,9 @@ - "inventory_hostname == ((groups[keystone_services['keystone-wsgi-public']['group']] | intersect(ansible_play_hosts)) | list)[0]" vars: _oslodb_setup_host: "{{ keystone_db_setup_host }}" + _oslodb_ansible_python_interpreter: "{{ keystone_db_setup_python_interpreter }}" + _oslodb_setup_endpoint: "{{ keystone_galera_address }}" + _oslodb_setup_port: "{{ keystone_galera_port }}" _oslodb_databases: - name: "{{ keystone_galera_database }}" users: