{#- Control network with bond. For control plane nodes #}
{#- Provides:     #}
{#-   br_ctl (linux bridge) + control address #}
{#-   _param:keepalived_vip_interface = 'br_ctl' #}
{#- Requirements:                     #}
{#-   _param:single_address         #}
{#-   _param:control_network_netmask         #}
{#-   _param:control_vlan           #}
              # {{ interfaces_role }}
              {%- for interface_name, interface in interfaces.items() %}
              {{ interface_name }}:
                mtu: 9000
                enabled: true
                master: bond0
                name: {{ interface_name }}
                proto: manual
                type: slave
                ipflush_onchange: true
              {%- endfor %}
              bond0:
                enabled: true
                mode: '802.3ad'
                proto: manual
                slaves: {{ ' '.join(interfaces.keys()) }}
                type: bond
                use_interfaces:
                {%- for interface_name in interfaces.keys() %}
                - {{ interface_name }}
                {%- endfor %}
                require_interfaces:
                {%- for interface_name in interfaces.keys() %}
                - {{ interface_name }}
                {%- endfor %}
              br_ctl:
                address: ${_param:_esc}{_param:single_address}
                enabled: true
                netmask: ${_param:_esc}{_param:control_network_netmask}
                proto: static
                type: bridge
                use_interfaces:
                - bond0.${_param:_esc}{_param:control_vlan}
                require_interfaces:
                - bond0.${_param:_esc}{_param:control_vlan}
              bond0.control_vlan:
                name: bond0.${_param:_esc}{_param:control_vlan}
                enabled: true
                proto: manual
                type: vlan
                use_interfaces:
                - bond0
                require_interfaces:
                - bond0
