{#- Provides:     #}
{#-   br_ctl (linux bridge) + control address #}
{#-   vhost0  #}
{#- Requirements:                     #}
{#-   _param:single_address         #}
{#-   _param:control_vlan           #}
{#-   _param:control_network_netmask         #}
{#-   _param:tenant_vlan           #}
{#-   _param:tenant_address         #}
{#-   _param:tenant_network_netmask         #}
{#-   _param:tenant_network_gateway         #}
{#-   _param:_param:dns_server01         #}
{#-   _param:_param:dns_server02         #}
              # {{ 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:
                mtu: 9000
                enabled: true
                mode: active-backup
                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:
                mtu: 9000
                name: bond0.${_param:_esc}{_param:control_vlan}
                enabled: true
                proto: manual
                type: vlan
                use_interfaces:
                - bond0
                require_interfaces:
                - bond0

              vhost0:
                address: ${_param:_esc}{_param:tenant_address}
                netmask: ${_param:_esc}{_param:tenant_network_netmask}
                enabled: true
                proto: static
                type: eth
                pre_up_cmds:
                - /usr/lib/contrail/if-vhost0
                name_servers:
                - ${_param:_esc}{_param:dns_server01}
                - ${_param:_esc}{_param:dns_server02}
                use_interfaces:
                - bond0.${_param:_esc}{_param:tenant_vlan}
                require_interfaces:
                - bond0.${_param:_esc}{_param:tenant_vlan}
              bond0.tenant_vlan:
                mtu: 9000
                name: bond0.${_param:_esc}{_param:tenant_vlan}
                enabled: true
                proto: manual
                type: vlan
                use_interfaces:
                - bond0
                require_interfaces:
                - bond0
