
This commit adds the --by-service flag in the discover_hosts command of the nova cell subsystem, using this flag, hosts are mapped based on the existing nova-compute services instead of using the compute node reference. In this way, we can ensure that the host mappings exists for this new host (and create it if not) preventing the HostMappingNotFound exception to loop over and over. Bug: #1768094 Change-Id: I948004031bc3e125f929ed3e6c670aea11e73a31 Signed-off-by: Jorge Niedbalski <jorge.niedbalski@linaro.org>
64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
---
|
|
- name: Create cell0 mappings
|
|
command: >
|
|
docker exec nova_api nova-manage cell_v2 map_cell0
|
|
register: map_cell0
|
|
changed_when:
|
|
- map_cell0 | success
|
|
- '"Cell0 is already setup" not in map_cell0.stdout'
|
|
failed_when:
|
|
- map_cell0.rc != 0
|
|
run_once: True
|
|
delegate_to: "{{ groups['nova-api'][0] }}"
|
|
|
|
- include: bootstrap_service.yml
|
|
when: map_cell0.changed
|
|
|
|
- name: Create base cell for legacy instances
|
|
command: >
|
|
docker exec nova_api nova-manage cell_v2 create_cell
|
|
register: base_cell
|
|
changed_when:
|
|
- base_cell | success
|
|
failed_when:
|
|
- base_cell.rc != 0
|
|
- '"already exists" not in base_cell.stdout'
|
|
run_once: True
|
|
delegate_to: "{{ groups['nova-api'][0] }}"
|
|
|
|
- name: Waiting for nova-compute service up
|
|
command: >
|
|
docker exec kolla_toolbox openstack
|
|
--os-interface internal
|
|
--os-auth-url {{ keystone_admin_url }}
|
|
--os-identity-api-version 3
|
|
--os-project-domain-name {{ openstack_auth.domain_name }}
|
|
--os-tenant-name {{ openstack_auth.project_name }}
|
|
--os-username {{ openstack_auth.username }}
|
|
--os-password {{ keystone_admin_password }}
|
|
--os-user-domain-name {{ openstack_auth.domain_name }}
|
|
compute service list -f json --service nova-compute
|
|
register: nova_compute_services
|
|
changed_when: false
|
|
run_once: True
|
|
delegate_to: "{{ groups['nova-api'][0] }}"
|
|
retries: 20
|
|
delay: 10
|
|
until:
|
|
- nova_compute_services | success
|
|
- nova_compute_services.stdout | from_json | length != 0
|
|
|
|
- name: Discovering nova hosts
|
|
command: >
|
|
docker exec nova_api nova-manage cell_v2 discover_hosts --by-service
|
|
register: discover_hosts
|
|
changed_when: False
|
|
run_once: True
|
|
delegate_to: "{{ groups['nova-api'][0] }}"
|
|
|
|
- name: Refresh cell cache in nova scheduler
|
|
command: docker kill --signal HUP nova_scheduler
|
|
changed_when: False
|
|
when:
|
|
- inventory_hostname in groups['nova-scheduler']
|