Add initial config to support deployments on VMs
[kuberef.git] / playbooks / roles / configure-vms / templates / Debian.interface.j2
1 {%- set macaddress = item.key -%}
2 {%- set device = item.value -%}
3 {%- for selected_net_name, selected_net in idf.net_config.items() if node.interfaces[selected_net.interface].mac_address == macaddress -%}
4 {%- set selected_inf = node.interfaces[selected_net.interface] -%}
5 {%- set ifname = device if selected_inf.vlan == 'native' else device + '.' + selected_inf.vlan -%}
6 {%- set proto = "inet6" if selected_net.network | ipv6 else "inet" -%}
7 {%- set method = selected_inf.address if selected_inf.address in ["dhcp", "manual"] else "static" -%}
8
9 auto {{ ifname }}
10 iface {{ ifname }} {{ proto }} {{ method }}
11 {% if selected_net.gateway is defined %}
12 up route add default gateway {{ selected_net.gateway | ipaddr('address') }}
13 {% endif %}
14 {% if method != "manual" %}
15 address {{ selected_inf.address | ipaddr('address') }}
16 {% endif %}
17 {% if selected_inf.address | ipv6 %}
18 netmask {{ selected_net.mask }}
19 {% endif %}
20 {% if selected_inf.address | ipv4 %}
21 netmask {{ (selected_net.network + "/" + (selected_net.mask | string)) | ipaddr('netmask') }}
22 {% endif %}
23 {% if selected_net.gateway is defined %}
24 gateway {{ selected_net.gateway | ipaddr('address') }}
25 {% endif %}
26 {% if selected_net.routes is defined %}
27 {% for route in selected_net.routes %}
28 up route add -net {{ route.network }}/{{ route.mask }} gw {{ route.gateway }}
29 {% endfor %}
30 {% endif %}
31
32 {%- endfor -%}
33