From 3e7c15da249798439861d0b8e9ed2cd852e042e7 Mon Sep 17 00:00:00 2001 From: Martin Schuppert Date: Wed, 17 Jul 2019 16:28:15 +0200 Subject: [PATCH] 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 --- .../nova-compute-common-container-puppet.yaml | 43 ++++++++++++------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/deployment/nova/nova-compute-common-container-puppet.yaml b/deployment/nova/nova-compute-common-container-puppet.yaml index dfefae61e2..317ce4ac8e 100644 --- a/deployment/nova/nova-compute-common-container-puppet.yaml +++ b/deployment/nova/nova-compute-common-container-puppet.yaml @@ -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