--- - 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