bc5f3aba90
When specifying tags with 'kayobe overcloud post configure --tags <tags>', the expected plays typically do not run. This seems to be due to an ansible bug, where if a dynamically created group is referenced before creation, it will remain empty. See https://github.com/ansible/ansible/issues/20360. This change works around this issue by modifying the name of the dynamic groups used in the post configure playbooks to be unique to each playbook. Fixes: #138 (cherry picked from commit 77a41a9d0a37acd2d4c25bd7d969d965a9552428) Change-Id: I7a884f538cfeba9d6b4b990ec445b5ad6f914193
49 lines
2.0 KiB
YAML
49 lines
2.0 KiB
YAML
---
|
|
- name: Check whether Ironic is enabled
|
|
hosts: controllers
|
|
tags:
|
|
- provision-net
|
|
tasks:
|
|
- name: Create controllers group with ironic enabled
|
|
group_by:
|
|
key: "controllers_for_provision_net_{{ kolla_enable_ironic | bool }}"
|
|
|
|
- name: Ensure provisioning network and subnet are registered in neutron
|
|
# Only required to run on a single host.
|
|
hosts: controllers_for_provision_net_True[0]
|
|
gather_facts: False
|
|
tags:
|
|
- provision-net
|
|
pre_tasks:
|
|
- name: Validate OpenStack password authentication parameters
|
|
fail:
|
|
msg: >
|
|
Required OpenStack authentication parameter {{ item }} is
|
|
{% if item in openstack_auth %}empty{% else %}not present{% endif %}
|
|
in openstack_auth. Have you sourced the environment file?
|
|
when:
|
|
- openstack_auth_type == 'password'
|
|
- item not in openstack_auth or not openstack_auth[item]
|
|
with_items: "{{ openstack_auth_password_required_params }}"
|
|
tags:
|
|
- config-validation
|
|
|
|
roles:
|
|
- role: stackhpc.os-networks
|
|
os_networks_venv: "{{ virtualenv_path }}/shade"
|
|
os_networks_auth_type: "{{ openstack_auth_type }}"
|
|
os_networks_auth: "{{ openstack_auth }}"
|
|
# Network configuration.
|
|
os_networks:
|
|
- name: "{{ kolla_ironic_provisioning_network }}"
|
|
provider_network_type: "{% if provision_wl_net_name | net_vlan %}vlan{% else %}flat{% endif %}"
|
|
provider_physical_network: "physnet1"
|
|
provider_segmentation_id: "{{ provision_wl_net_name | net_vlan }}"
|
|
shared: True
|
|
subnets:
|
|
- name: "{{ kolla_ironic_provisioning_network }}"
|
|
cidr: "{{ provision_wl_net_name | net_cidr }}"
|
|
gateway_ip: "{{ provision_wl_net_name | net_neutron_gateway or provision_wl_net_name | net_gateway }}"
|
|
allocation_pool_start: "{{ provision_wl_net_name | net_neutron_allocation_pool_start }}"
|
|
allocation_pool_end: "{{ provision_wl_net_name | net_neutron_allocation_pool_end }}"
|