ab6eb989ae
When kolla VIP address is changed the cell0 database connection is now updated to the new address. Closes-bug: #1915302 Change-Id: I35be54efb5aaa230702d0cebaae04f1e64c3bca3 Signed-off-by: Roman Krček <roman.krcek@tietoevry.com>
68 lines
2.7 KiB
YAML
68 lines
2.7 KiB
YAML
---
|
|
- block:
|
|
- name: Create cell0 mappings
|
|
vars:
|
|
nova_api: "{{ nova_services['nova-api'] }}"
|
|
nova_cell0_connection: "mysql+pymysql://{{ nova_cell0_database_user }}:{{ nova_cell0_database_password }}@{{ nova_cell0_database_address }}/{{ nova_cell0_database_name }}" # noqa 204
|
|
become: true
|
|
kolla_container:
|
|
action: "start_container"
|
|
command: bash -c 'sudo -E kolla_set_configs && nova-manage cell_v2 map_cell0 --database_connection {{ nova_cell0_connection }}'
|
|
common_options: "{{ docker_common_options }}"
|
|
detach: False
|
|
image: "{{ nova_api.image }}"
|
|
labels:
|
|
BOOTSTRAP:
|
|
name: "nova_api_map_cell0"
|
|
restart_policy: oneshot
|
|
volumes: "{{ nova_api_bootstrap_default_volumes + nova_api_bootstrap_extra_volumes }}"
|
|
register: map_cell0
|
|
changed_when:
|
|
- map_cell0 is success
|
|
- '"Cell0 is already setup" not in map_cell0.stdout'
|
|
|
|
- import_role:
|
|
name: nova-cell
|
|
tasks_from: get_cell_settings.yml
|
|
vars:
|
|
nova_cell_name: "cell0"
|
|
nova_api: "{{ nova_services['nova-api'] }}"
|
|
nova_cell_get_settings_volumes: "{{ nova_api_bootstrap_default_volumes + nova_api_bootstrap_extra_volumes }}"
|
|
|
|
- name: Update cell0 mappings
|
|
vars:
|
|
nova_cell0_uuid: "00000000-0000-0000-0000-000000000000"
|
|
nova_cell0_transport_url: "none:/"
|
|
nova_cell0_connection: "mysql+pymysql://{{ nova_cell0_database_user }}:{{ nova_cell0_database_password }}@{{ nova_cell0_database_address }}/{{ nova_cell0_database_name }}" # noqa 204
|
|
nova_api: "{{ nova_services['nova-api'] }}"
|
|
become: true
|
|
kolla_container:
|
|
action: "start_container"
|
|
command: >
|
|
bash -c 'sudo -E kolla_set_configs &&
|
|
nova-manage cell_v2 update_cell
|
|
--cell_uuid {{ nova_cell0_uuid }}
|
|
--database_connection {{ nova_cell0_connection }}
|
|
--transport-url {{ nova_cell0_transport_url }}'
|
|
common_options: "{{ docker_common_options }}"
|
|
detach: False
|
|
image: "{{ nova_api.image }}"
|
|
labels:
|
|
BOOTSTRAP:
|
|
name: "nova_api_map_cell0"
|
|
restart_policy: oneshot
|
|
volumes: "{{ nova_api_bootstrap_default_volumes + nova_api_bootstrap_extra_volumes }}"
|
|
register: nova_cell0_updated
|
|
changed_when:
|
|
- nova_cell0_updated is success
|
|
failed_when:
|
|
- nova_cell0_updated.rc != 0
|
|
when:
|
|
- nova_cell_settings | length > 0
|
|
- nova_cell_settings.cell_database != nova_cell0_connection
|
|
run_once: True
|
|
delegate_to: "{{ groups[nova_api.group][0] }}"
|
|
|
|
- include_tasks: bootstrap_service.yml
|
|
when: map_cell0.changed
|