a9ade20bee
Implement ansible role to deploy designate and dependencies. The backend used is bind9. Co-Authored-By: zhubingbing <zhubingbing10@gmail.com> Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com> Depends-On: 6d0dc3e0f931c7c50b64a4659900cc50b0d860a2 Implements: blueprint ansible-designate Change-Id: I34d8126e0cd8d71d5ced9b62f3776cc354fbb549
80 lines
3.5 KiB
YAML
80 lines
3.5 KiB
YAML
---
|
|
- name: Creating Designate database
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m mysql_db
|
|
-a "login_host='{{ database_address }}'
|
|
login_port='{{ database_port }}'
|
|
login_user='{{ database_user }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ designate_database_name }}'"
|
|
register: database
|
|
changed_when: "{{ database.stdout.find('localhost | SUCCESS => ') != -1 and
|
|
(database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
failed_when: database.stdout.split()[2] != 'SUCCESS'
|
|
run_once: True
|
|
delegate_to: "{{ groups['designate-central'][0] }}"
|
|
|
|
- name: Reading json from variable
|
|
set_fact:
|
|
database_created: "{{ (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
|
|
- name: Creating Designate Pool Manager database
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m mysql_db
|
|
-a "login_host='{{ database_address }}'
|
|
login_port='{{ database_port }}'
|
|
login_user='{{ database_user }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ designate_pool_manager_database_name }}'"
|
|
register: database_pool_manager
|
|
changed_when: "{{ database.stdout.find('localhost | SUCCESS => ') != -1 and
|
|
(database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
failed_when: database.stdout.split()[2] != 'SUCCESS'
|
|
run_once: True
|
|
delegate_to: "{{ groups['designate-central'][0] }}"
|
|
|
|
- name: Reading json from variable
|
|
set_fact:
|
|
database_pool_manager_created: "{{ (database_pool_manager.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
|
|
- name: Creating Designate database user and setting permissions
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m mysql_user
|
|
-a "login_host='{{ database_address }}'
|
|
login_port='{{ database_port }}'
|
|
login_user='{{ database_user }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ designate_database_name }}'
|
|
password='{{ designate_database_password }}'
|
|
host='%'
|
|
priv='{{ designate_database_name }}.*:ALL'
|
|
append_privs='yes'"
|
|
register: database_user_create
|
|
changed_when: "{{ database_user_create.stdout.find('localhost | SUCCESS => ') != -1 and
|
|
(database_user_create.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
failed_when: database_user_create.stdout.split()[2] != 'SUCCESS'
|
|
run_once: True
|
|
delegate_to: "{{ groups['designate-central'][0] }}"
|
|
|
|
- name: Creating Designate Pool Manager database user and setting permissions
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m mysql_user
|
|
-a "login_host='{{ database_address }}'
|
|
login_port='{{ database_port }}'
|
|
login_user='{{ database_user }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ designate_pool_manager_database_name }}'
|
|
password='{{ designate_pool_manager_database_password }}'
|
|
host='%'
|
|
priv='{{ designate_pool_manager_database_name }}.*:ALL'
|
|
append_privs='yes'"
|
|
register: database_pool_manager_user_create
|
|
changed_when: "{{ database_pool_manager_user_create.stdout.find('localhost | SUCCESS => ') != -1 and
|
|
(database_pool_manager_user_create.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
failed_when: database_pool_manager_user_create.stdout.split()[2] != 'SUCCESS'
|
|
run_once: True
|
|
delegate_to: "{{ groups['designate-central'][0] }}"
|
|
|
|
- include: bootstrap_service.yml
|
|
when: database_created
|