Skip to content
Snippets Groups Projects
Commit 74b69f6a authored by Zuul's avatar Zuul Committed by Gerrit Code Review
Browse files

Merge "Update cell0 database connection"

parents fadb4841 ab6eb989
No related branches found
No related tags found
No related merge requests found
......@@ -453,6 +453,7 @@ nova_compute_extra_volumes: "{{ nova_extra_volumes }}"
nova_compute_ironic_extra_volumes: "{{ nova_extra_volumes }}"
# Used by bootstrapping containers.
nova_cell_bootstrap_extra_volumes: "{{ nova_extra_volumes }}"
nova_cell_get_settings_volumes: "{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}"
nova_libvirt_volume: "{{ 'libvirtd' if enable_nova_libvirt_container | bool else '/var/lib/libvirt' }}"
......
......@@ -13,7 +13,7 @@
BOOTSTRAP:
name: "nova_list_cells"
restart_policy: oneshot
volumes: "{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}"
volumes: "{{ nova_cell_get_settings_volumes }}"
register: existing_cells_list
changed_when: false
failed_when:
......
---
- 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'
- 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] }}"
......
......@@ -36,8 +36,7 @@ def extract_cell(list_cells_cli_output, cell_name):
# NOTE(priteau): regexp doesn't support passwords containing spaces
p = re.compile(
r'\| +(?P<cell_name>[^ ]+)? +'
r'\| +(?!00000000-0000-0000-0000-000000000000)'
r'(?P<cell_uuid>[0-9a-f\-]+) +'
r'\| +(?P<cell_uuid>[0-9a-f\-]+) +'
r'\| +(?P<cell_message_queue>[^ ]+) +'
r'\| +(?P<cell_database>[^ ]+) +'
r'\| +(?P<cell_disabled>[^ ]+) +'
......
---
fixes:
- |
Fixes nova-cell not updating the cell0 database address when VIP changes.
`LP#1915302 <https://launchpad.net/bugs/1915302>`__
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment