diff --git a/ansible/kolla-bifrost-hostvars.yml b/ansible/kolla-bifrost-hostvars.yml index e43bcd7e6..c74a4f88b 100644 --- a/ansible/kolla-bifrost-hostvars.yml +++ b/ansible/kolla-bifrost-hostvars.yml @@ -19,10 +19,10 @@ ipv4_interface_mac: "{% raw %}{{ extra.pxe_interface_mac | default }}{% endraw %}" ipv4_address: "{{ admin_oc_net_name | net_ip }}" ipv4_subnet_mask: "{{ admin_oc_net_name | net_mask }}" - # If the admin network does not have a gateway defined, use the - # seed as a gateway to allow external access until other networks have - # been configured. - ipv4_gateway: "{{ admin_oc_net_name | net_gateway or admin_oc_net_name | net_ip(seed_host) }}" + # If the admin network does not have a gateway defined and seed SNAT is + # enabled, use the seed as a gateway to allow external access until other + # networks have been configured. Otherwise, do not set any gateway. + ipv4_gateway: "{{ admin_oc_net_name | net_gateway or admin_oc_net_name | net_ip(seed_host) if seed_enable_snat | bool }}" ipv4_nameserver: "{{ resolv_nameservers }}" network_mtu: "{{ admin_oc_net_name | net_mtu or '1500' }}" vlan_id: "{{ '' if admin_oc_net_name == provision_oc_net_name else (admin_oc_net_name | net_vlan) }}" diff --git a/ansible/roles/veth/defaults/main.yml b/ansible/roles/veth/defaults/main.yml index e72b74341..2754b0d0a 100644 --- a/ansible/roles/veth/defaults/main.yml +++ b/ansible/roles/veth/defaults/main.yml @@ -1,3 +1,5 @@ --- +interfaces_use_networkmanager: "{{ ansible_facts.distribution_major_version | int >= 9 }}" + # List of virtual interfaces to configure. veth_interfaces: [] diff --git a/ansible/roles/veth/tasks/RedHat.yml b/ansible/roles/veth/tasks/RedHat.yml index 8315c8269..6b9c48760 100644 --- a/ansible/roles/veth/tasks/RedHat.yml +++ b/ansible/roles/veth/tasks/RedHat.yml @@ -1,6 +1,6 @@ --- - include_tasks: network-scripts.yml - when: ansible_facts.distribution_major_version | int < 9 + when: not interfaces_use_networkmanager - include_tasks: network-manager.yml - when: ansible_facts.distribution_major_version | int >= 9 + when: interfaces_use_networkmanager diff --git a/releasenotes/notes/bifrost-host-vars-deprovision-525c450cf20f7f71.yaml b/releasenotes/notes/bifrost-host-vars-deprovision-525c450cf20f7f71.yaml index 4b866b30f..6d229fb5f 100644 --- a/releasenotes/notes/bifrost-host-vars-deprovision-525c450cf20f7f71.yaml +++ b/releasenotes/notes/bifrost-host-vars-deprovision-525c450cf20f7f71.yaml @@ -3,5 +3,4 @@ fixes: - | Fixes failure to run ``kayobe overcloud deprovision`` after Bifrost is redeployed. - `LP#2038889 `__ - + `LP#2038889 `__ diff --git a/releasenotes/notes/configdrive-gateway-62366f613e6eaac9.yaml b/releasenotes/notes/configdrive-gateway-62366f613e6eaac9.yaml new file mode 100644 index 000000000..f43684f03 --- /dev/null +++ b/releasenotes/notes/configdrive-gateway-62366f613e6eaac9.yaml @@ -0,0 +1,14 @@ +--- +upgrade: + - | + If the admin network does not have a gateway defined and + ``seed_enable_snat`` is ``false``, which is the default, overcloud hosts + will not have a default gateway immediately after provisioning anymore. A + default gateway on another network can still be applied during the host + configuration step. +fixes: + - | + Fixes slow fact gathering in some environments by not configuring the seed + host as the initial default gateway for overcloud hosts when + ``seed_enable_snat`` is ``false``, which is the default. + `LP#2039461 `__