
The original reason for having the data container in the bootstrap.yml was to keep consistency with rabbitmq and mariadb, but in light of this bug we need to move the data container out of the bootstrap.yml role since we will be limiting the hosts that those tasks can run on. Change-Id: I7f2f5979b01807275908699d1243756cb97d3588 Partial-Bug: #1513598
71 lines
2.8 KiB
YAML
71 lines
2.8 KiB
YAML
---
|
|
- name: Creating Glance database
|
|
command: docker exec -t kolla_ansible /usr/bin/ansible localhost
|
|
-m mysql_db
|
|
-a "login_host='{{ database_address }}'
|
|
login_user='{{ database_user }}'
|
|
login_port='{{ mariadb_port }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ glance_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
|
|
|
|
- name: Creating Glance database user and setting permissions
|
|
command: docker exec -t kolla_ansible /usr/bin/ansible localhost
|
|
-m mysql_user
|
|
-a "login_host='{{ database_address }}'
|
|
login_user='{{ database_user }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ glance_database_name }}'
|
|
password='{{ glance_database_password }}'
|
|
host='%'
|
|
priv='{{ glance_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
|
|
|
|
- name: Starting Glance bootstrap container
|
|
docker:
|
|
tty: True
|
|
detach: False
|
|
net: host
|
|
pull: "{{ docker_pull_policy }}"
|
|
restart_policy: "no"
|
|
state: reloaded
|
|
registry: "{{ docker_registry }}"
|
|
username: "{{ docker_registry_username }}"
|
|
password: "{{ docker_registry_password }}"
|
|
insecure_registry: "{{ docker_insecure_registry }}"
|
|
name: bootstrap_glance
|
|
image: "{{ glance_api_image_full }}"
|
|
volumes: "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro"
|
|
env:
|
|
KOLLA_BOOTSTRAP:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
run_once: True
|
|
when:
|
|
- database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
|
|
- inventory_hostname in groups['glance-api']
|
|
|
|
# https://github.com/ansible/ansible-modules-core/pull/1031
|
|
- name: Waiting for bootstrap container to exit
|
|
command: docker wait bootstrap_glance
|
|
register: bootstrap_result
|
|
run_once: True
|
|
failed_when: bootstrap_result.stdout != "0"
|
|
when:
|
|
- database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
|
|
- inventory_hostname in groups['glance-api']
|
|
|
|
- name: Cleaning up Glance bootstrap container
|
|
docker:
|
|
tty: True
|
|
name: bootstrap_glance
|
|
image: "{{ glance_api_image_full }}"
|
|
state: absent
|
|
when: database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
|