############################################################################## # Copyright (c) 2018 Mirantis Inc., Enea AB and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## {%- import 'net_map.j2' as nm with context %} {#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} {%- set nics = { nm.cmp001.nic_private: True } %} {%- set vlan_private_start = nm.vlan_private.rsplit('-')[0] %} {%- set vlans = { vlan_private_start: nm.cmp001.nic_private } %} --- parameters: linux: network: interface: {%- for nic in nics %} {{ nic }}: enabled: true type: eth {%- if nic == nm.cmp001.nic_admin %} proto: dhcp {%- else %} proto: manual {%- endif %} name: {{ nic }} {%- endfor %} {%- for vlan in vlans %} {%- if vlan | int > 0 %} {{ vlans[vlan] }}.{{ vlan }}: enabled: true proto: manual type: vlan name: {{ vlans[vlan] }}.{{ vlan }} use_interfaces: - {{ vlans[vlan] }} {%- endif %} {%- endfor %} br-mesh: enabled: true type: bridge address: ${_param:tenant_address} netmask: 255.255.255.0 mtu: 1500 use_interfaces: - {{ nm.cmp001.nic_private }}{% if vlan_private_start | int > 0 %}.{{ vlan_private_start }}{% endif %}