From d480f24e3a793bfad90794d056515209afdf170e Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Thu, 20 Aug 2020 17:39:09 +0300 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. Change-Id: I7da95890045b216ba8946616790b7cd33ef2db52 --- defaults/main.yml | 4 +++- tasks/db_setup.yml | 6 ++++++ tasks/main.yml | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/defaults/main.yml b/defaults/main.yml index 245c028d..2c729b79 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -124,12 +124,14 @@ glance_oslomsg_notify_vhost: "{{ glance_oslomsg_rpc_vhost }}" glance_oslomsg_amqp1_enabled: "{{ glance_oslomsg_rpc_transport == 'amqp' }}" ## Database info -glance_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}" +glance_db_setup_host: "{{ openstack_db_setup_host | default('localhost') }}" +glance_db_setup_python_interpreter: "{{ openstack_db_setup_python_interpreter | default((glance_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}" glance_galera_address: "{{ galera_address | default('127.0.0.1') }}" glance_galera_database: glance glance_galera_user: glance glance_galera_use_ssl: "{{ galera_use_ssl | default(False) }}" glance_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('/etc/ssl/certs/galera-ca.pem') }}" +glance_galera_port: 3306 glance_role_name: admin glance_api_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}" 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 7cf0e8fc..0165d79e 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -46,6 +46,9 @@ - "inventory_hostname == ((groups[glance_services['glance-api']['group']]| intersect(ansible_play_hosts)) | list)[0]" vars: _oslodb_setup_host: "{{ glance_db_setup_host }}" + _oslodb_ansible_python_interpreter: "{{ glance_db_setup_python_interpreter }}" + _oslodb_setup_endpoint: "{{ glance_galera_address }}" + _oslodb_setup_port: "{{ glance_galera_port }}" _oslodb_databases: - name: "{{ glance_galera_database }}" users: