{{ ansible_header | comment }} {% set vlan_name = (item.name | replace('_', '-')) %} {% set subnet_network = (query('ldap', 'network', vlan_name) | ipaddr('network')) %} {% set subnet_netmask = (query('ldap', 'network', vlan_name) | ipaddr('netmask')) %} {% set ips = query('ldap', 'ip', ansible_hostname, vlan_name) %} {% if (ips | ipv4 | length) > 0 %} auto {{ interfaces[item.name] }} iface {{ interfaces[item.name] }} inet static {% for ip in (ips | ipv4) %} address {{ ip }} {% endfor %} network {{ subnet_network }} netmask {{ subnet_netmask }} {% if item.gateway is defined and item.gateway not in (ips | ipv4) %} gateway {{ item.gateway }} {% endif %} {% if item.metric is defined %} metric {{ item.metric }} {% endif %} {% if item.dns is defined %} dns-nameservers {{ item.dns }} {% endif %} {% if vlan_name == 'srv' %} dns-search ynerant.fr {% else %} dns-search {{ vlan_nameĀ }}.ynerant.fr {% endif %} up /sbin/ip link set $IFACE alias {{ vlan_name }} {% if ansible_local.interfaces.sup_if_4 is defined %} {% if interfaces[item.name] in ansible_local.interfaces.sup_if_4 %} {% for line in ansible_local.interfaces.sup_if_4[interfaces[item.name]] %} {{ line }} {% endfor %} {% endif %} {% endif %} {% endif %} {% if (ips | ipv6 | length) > 0 %} iface {{ interfaces[item.name] }} inet6 static {% for ip in (ips | ipv6) %} address {{ ip }}/64 {% endfor %} {% if item.gateway_v6 is defined and item.gateway_v6 not in (ips | ipv6) %} gateway {{ item.gateway_v6 }} {% endif %} accept_ra 0 {% if ansible_local.interfaces.sup_if_6 is defined %} {% if interfaces[item.name] in ansible_local.interfaces.sup_if_6 %} {% for line in ansible_local.interfaces.sup_if_6[interfaces[item.name]] %} {{ line }} {% endfor %} {% endif %} {% endif %} {% endif %}