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: Ie8e6b95f531fef9c9fe04d6d8f692d599aa5ff30
This commit is contained in:
Dmitriy Rabotyagov 2020-08-20 17:30:08 +03:00
parent b4f5f6d7c3
commit 18ca2f1618
4 changed files with 20 additions and 9 deletions

View File

@ -87,12 +87,14 @@ cloudkitty_output_backend: cloudkitty.backend.file.FileBackend
cloudkitty_output_pipeline: osrf
cloudkitty_output_basepath: /var/cloudkitty/reports
cloudkitty_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}"
cloudkitty_db_setup_host: "{{ openstack_db_setup_host | default('localhost') }}"
cloudkitty_db_setup_python_interpreter: "{{ openstack_db_setup_python_interpreter | default((cloudkitty_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}"
cloudkitty_galera_address: "{{ galera_address | default('127.0.0.1') }}"
cloudkitty_galera_database: cloudkitty
cloudkitty_galera_user: cloudkitty
cloudkitty_galera_port: 3306
cloudkitty_database_connection: >-
mysql+pymysql://{{ cloudkitty_galera_user }}:{{ cloudkitty_container_mysql_password }}@{{ cloudkitty_galera_address }}/{{ cloudkitty_galera_database }}?charset=utf8
mysql+pymysql://{{ cloudkitty_galera_user }}:{{ cloudkitty_container_mysql_password }}@{{ cloudkitty_galera_address }}:{{ cloudkitty_galera_port }}/{{ cloudkitty_galera_database }}?charset=utf8
cloudkitty_wsgi_threads: 1
cloudkitty_wsgi_processes_max: 16

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

@ -44,6 +44,9 @@
- inventory_hostname == groups['cloudkitty_all'][0]
vars:
_oslodb_setup_host: "{{ cloudkitty_db_setup_host }}"
_oslodb_ansible_python_interpreter: "{{ cloudkitty_db_setup_python_interpreter }}"
_oslodb_setup_endpoint: "{{ cloudkitty_galera_address }}"
_oslodb_setup_port: "{{ cloudkitty_galera_port }}"
_oslodb_databases:
- name: "{{ cloudkitty_galera_database }}"
users:

View File

@ -1,26 +1,26 @@
[all]
localhost
service1 ansible_host=10.100.100.2 ansible_become=True ansible_user=root container_name=service1
infra1 ansible_host=10.100.100.2 ansible_become=True ansible_user=root container_name=infra1
openstack1 ansible_host=10.100.100.3 ansible_become=True ansible_user=root container_name=openstack1
[all_containers]
service1
infra1
openstack1
[oslomsg_rpc_all]
service1
infra1
[oslomsg_notify_all]
service1
infra1
[rabbitmq_all]
service1
infra1
[galera_all]
service1
infra1
[memcached_all]
service1
infra1
[service_all:children]
rabbitmq_all