{#- Floating on a separated bond interfaces. For gateway nodes and computes with dvr #}
{#- Provides:                         #}
{#-   br_floating (OVS bridge) #}
{#- Requirements:                     #}
{#-   _param:?addr         #}
{#-   _param:?mask         #}
{#-   _param:?vlan           #}
              # {{ interfaces_role }}
              {%- for interface_name, interface in interfaces.items() %}
              {{ interface_name }}:
                mtu: 9000
                enabled: true
                master: bond1  # ?
                name: {{ interface_name }}
                proto: manual
                type: slave  # ?
                ipflush_onchange: true
              {%- endfor %}
              bond1:
                enabled: true
                mode: active-backup
                ovs_bridge: br-floating
                ovs_type: OVSPort
                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-floating:
                enabled: true
                type: ovs_bridge