Only run cellv2 host discovery on default cell

While it would be not an issue to run the host discovery on sub
sequent deploy runs, on the initial cell deplouy the discovery
fails because the cell is not yet defined in nova as this is
a manual post task after the initial cell deployment [1]

[1] https://docs.openstack.org/tripleo-docs/latest/install/advanced_deployment/deploy_cellv2.html#create-the-cell-and-discover-compute-nodes

Change-Id: I42451a8b4dcc690319439415570ce36e5c5333c3
Closes-bug: #1836915
This commit is contained in:
Martin Schuppert 2019-07-17 16:28:15 +02:00
parent cce33e878b
commit 3e7c15da24

View File

@ -32,6 +32,10 @@ parameters:
default: {}
description: Parameters specific to the role
type: json
NovaAdditionalCell:
default: false
description: Whether this is an cell additional to the default cell.
type: boolean
outputs:
container_config_scripts:
@ -52,21 +56,28 @@ outputs:
value: &nova_compute_common_deploy_steps_tasks
- when: step|int == 5
block:
- name: discover via nova_compute?
- name: is additonal Cell?
set_fact:
delegate_host: "{{ groups['nova_compute'][0] }}"
nova_additional_cell: {get_param: NovaAdditionalCell}
- name: discover nodes if it is not an additional cell
when:
- groups['nova_compute'] is defined and (groups['nova_compute']|length>0)
- name: discover via nova_ironic?
set_fact:
delegate_host: "{{ groups['nova_ironic'][0] }}"
when:
- delegate_host is not defined
- groups['nova_ironic'] is defined and (groups['nova_ironic']|length>0)
- name: Discovering nova hosts
command: "{{ container_cli }} exec nova_compute nova-manage cell_v2 discover_hosts --by-service"
become: true
changed_when: False
when:
- delegate_host is defined
- inventory_hostname == delegate_host
- not nova_additional_cell|bool
block:
- name: discover via nova_compute?
set_fact:
delegate_host: "{{ groups['nova_compute'][0] }}"
when:
- groups['nova_compute'] is defined and (groups['nova_compute']|length>0)
- name: discover via nova_ironic?
set_fact:
delegate_host: "{{ groups['nova_ironic'][0] }}"
when:
- delegate_host is not defined
- groups['nova_ironic'] is defined and (groups['nova_ironic']|length>0)
- name: Discovering nova hosts
command: "{{ container_cli }} exec nova_compute nova-manage cell_v2 discover_hosts --by-service"
become: true
changed_when: False
when:
- delegate_host is defined
- inventory_hostname == delegate_host