diff --git a/ansible/group_vars/all/controllers b/ansible/group_vars/all/controllers index 1dbb8c0e9..107822497 100644 --- a/ansible/group_vars/all/controllers +++ b/ansible/group_vars/all/controllers @@ -32,10 +32,21 @@ controller_extra_network_interfaces: [] # List of network interfaces to which network nodes are attached. controller_network_host_network_interfaces: > - {{ ([public_net_name, + {{ (controller_network_host_default_network_interfaces + + controller_network_host_extra_network_interfaces) | reject('none') | unique | list }} + +# List of default network interfaces to which network nodes are attached. +controller_network_host_default_network_interfaces: > + {{ ([admin_oc_net_name, + internal_net_name, + storage_net_name, + public_net_name, tunnel_net_name] + external_net_names) | reject('none') | unique | list }} +# List of extra networks to which network nodes are attached. +controller_network_host_extra_network_interfaces: [] + ############################################################################### # Controller node BIOS configuration. diff --git a/doc/source/configuration/network.rst b/doc/source/configuration/network.rst index 6af03f82e..1a3ec95ea 100644 --- a/doc/source/configuration/network.rst +++ b/doc/source/configuration/network.rst @@ -750,6 +750,27 @@ list of names of additional networks to attach. Alternatively, the list may be completely overridden by setting ``controller_network_interfaces``. These variables are found in ``${KAYOBE_CONFIG_PATH}/controllers.yml``. +Network Hosts +------------- + +By default, controllers provide Neutron network services and load balancing. +If separate network hosts are used (see +:ref:`control-plane-service-placement-network-hosts`), they are attached to the +following networks: + +* overcloud admin network +* internal network +* storage network +* public network +* external network +* tunnel network + +This list may be extended by setting +``controller_network_host_extra_network_interfaces`` to a list of names of +additional networks to attach. Alternatively, the list may be completely +overridden by setting ``controller_network_host_network_interfaces``. These +variables are found in ``${KAYOBE_CONFIG_PATH}/controllers.yml``. + Monitoring Hosts ---------------- diff --git a/doc/source/control-plane-service-placement.rst b/doc/source/control-plane-service-placement.rst index d3dd82208..2bdaf9b60 100644 --- a/doc/source/control-plane-service-placement.rst +++ b/doc/source/control-plane-service-placement.rst @@ -144,6 +144,8 @@ Each level may be separately overridden by setting the following variables: Examples ======== +.. _control-plane-service-placement-network-hosts: + Example 1: Adding Network Hosts ------------------------------- @@ -153,7 +155,18 @@ The control plane consists of three controllers, ``controller-[0-2]``, and two network hosts, ``network-[0-1]``. All file paths are relative to ``${KAYOBE_CONFIG_PATH}``. -First, we must map the hosts to kayobe groups. +First, we must make the network group separate from controllers: + +.. code-block:: ini + :caption: ``inventory/groups`` + + [controllers] + # Empty group to provide declaration of controllers group. + + [network] + # Empty group to provide declaration of network group. + +Then, we must map the hosts to kayobe groups. .. code-block:: yaml :caption: ``overcloud.yml`` diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index e23695574..edcfdee70 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -7,7 +7,7 @@ #controller_bootstrap_user: ############################################################################### -# Network interface attachments. +# Controller network interface configuration. # List of networks to which controller nodes are attached. #controller_network_interfaces: @@ -21,6 +21,12 @@ # List of network interfaces to which network nodes are attached. #controller_network_host_network_interfaces: +# List of default network interfaces to which network nodes are attached. +#controller_network_host_default_network_interfaces: + +# List of extra networks to which network nodes are attached. +#controller_network_host_extra_network_interfaces: + ############################################################################### # Controller node BIOS configuration. diff --git a/releasenotes/notes/fix-network-hosts-interfaces-f0206aa91b218a25.yaml b/releasenotes/notes/fix-network-hosts-interfaces-f0206aa91b218a25.yaml new file mode 100644 index 000000000..d94f27d54 --- /dev/null +++ b/releasenotes/notes/fix-network-hosts-interfaces-f0206aa91b218a25.yaml @@ -0,0 +1,20 @@ +--- +features: + - | + Adds ``controller_network_host_default_network_interfaces`` and + ``controller_network_host_extra_network_interfaces`` variables which define + the networks to which separate network hosts are attached. +upgrade: + - | + The default value of ``controller_network_host_network_interfaces`` is now + the combination of unique networks listed in new variables named + ``controller_network_host_default_network_interfaces`` and + ``controller_network_host_extra_network_interfaces``. As a result + ``controller_network_host_network_interfaces`` now contains the following + additional networks: overcloud admin network, internal network and storage + network. See :kayobe-doc:`network configuration of network hosts + ` for more details. +fixes: + - | + The default value for ``controller_network_host_network_interfaces`` + was updated to connect network hosts to all their required networks.