6d8959a962
Add bootstrap label to all bootstrap containers to ensure that when the a new container is launched a difference is seen between it and the bootstrap container since we cannot rely on ENV variables for this. This only affects mariadb at this stage, but it is needed to ensure rabbitmq works when we switch to named volumes. Change-Id: Ia022af26212d2e5445c06149848831037a508407 Closes-Bug: #1538136
86 lines
3.0 KiB
YAML
86 lines
3.0 KiB
YAML
---
|
|
- name: Creating Nova database
|
|
command: docker exec -t kolla_ansible /usr/bin/ansible localhost
|
|
-m mysql_db
|
|
-a "login_host='{{ database_address }}'
|
|
login_user='{{ database_user }}'
|
|
login_password='{{ database_password }}'
|
|
name='{{ nova_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['nova-api'][0] }}"
|
|
|
|
- name: Reading json from variable
|
|
set_fact:
|
|
database_created: "{{ (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
|
|
- name: Creating Nova 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='{{ nova_database_name }}'
|
|
password='{{ nova_database_password }}'
|
|
host='%'
|
|
priv='{{ nova_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['nova-api'][0] }}"
|
|
|
|
- name: Running Nova bootstrap container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
detach: False
|
|
environment:
|
|
KOLLA_BOOTSTRAP:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
image: "{{ nova_api_image_full }}"
|
|
labels:
|
|
BOOTSTRAP:
|
|
name: "bootstrap_nova"
|
|
restart_policy: "never"
|
|
volumes: "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
|
|
run_once: True
|
|
delegate_to: "{{ groups['nova-api'][0] }}"
|
|
when: database_created
|
|
|
|
- name: Creating nova-compute volume
|
|
kolla_docker:
|
|
action: "create_volume"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "nova_compute"
|
|
register: nova_compute_volume
|
|
when:
|
|
- inventory_hostname in groups['compute']
|
|
- not enable_nova_fake | bool
|
|
|
|
- name: Running Nova compute bootstrap container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
detach: False
|
|
environment:
|
|
KOLLA_BOOTSTRAP:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
image: "{{ nova_compute_image_full }}"
|
|
labels:
|
|
BOOTSTRAP:
|
|
name: "bootstrap_nova_compute"
|
|
restart_policy: "never"
|
|
volumes:
|
|
- "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
|
|
- "nova_compute:/var/lib/nova/"
|
|
when:
|
|
- inventory_hostname in groups['compute']
|
|
- not enable_nova_fake | bool
|
|
- nova_compute_volume.changed
|