78 lines
2.9 KiB
YAML
78 lines
2.9 KiB
YAML
%set bonds = []
|
|
%set vlans = []
|
|
|
|
network:
|
|
version: 2
|
|
renderer: networkd
|
|
ethernets:
|
|
%for %%interface in range(0, %%int(%%nombre_interfaces)):
|
|
%set current_interface = 'eth' + str(%%interface)
|
|
%set interface_mode = %%getVar(%%current_interface + '_method')
|
|
%if %%getVar('activer_bonding_' + %%current_interface, "non") == 'non'
|
|
%%getVar('nom_zone_'+ %%current_interface):
|
|
%if %%interface_mode == 'statique' and %%getVar("adresse_ip_" + %%current_interface):
|
|
addresses:
|
|
- %%getVar("adresse_ip_" + %%current_interface)/%%calc_classe(%%getVar('adresse_netmask_' + %%current_interface))
|
|
%if %%getVar('alias_' + %%current_interface, "non") == "oui"
|
|
%for alias in %%getVar('alias_ip_' + %%current_interface)
|
|
- %%alias/%%calc_classe(getattr(alias, 'alias_netmask_' + %%current_interface))
|
|
%end for
|
|
%end if
|
|
%if %%interface_gw == %%getVar('nom_zone_' + %%current_interface):
|
|
gateway4: %%adresse_ip_gw
|
|
%end if
|
|
%if %%getVar('activer_ipv6') == "non"
|
|
dhcp6: no
|
|
accept-ra: no
|
|
optional-addresses: [ dhcp6 ]
|
|
%end if
|
|
%elif %%interface_mode == 'dhcp'
|
|
dhcp4: yes
|
|
%else
|
|
dhcp4: no
|
|
%end if
|
|
%else
|
|
%%bonds.append(%%current_interface)
|
|
%for %%slave in %%getVar('nom_carte_' + %%current_interface):
|
|
%%slave:
|
|
optional: false
|
|
%end for
|
|
%end if
|
|
%if %%getVar('vlan_' + %%current_interface, 'non') == 'oui'
|
|
%%vlans.append(%%current_interface)
|
|
%end if
|
|
%end for
|
|
|
|
%if len(%%bonds) > 0:
|
|
bonds:
|
|
%for bond in %%bonds:
|
|
%set %%bond_mode = %%getVar(%%bond + '_method')
|
|
%%getVar('nom_zone_' + %%bond):
|
|
interfaces: [%%custom_join(%%getVar('nom_carte_' + %%bond),',')]
|
|
%if %%bond_mode == 'statique'
|
|
addresses: [ %%getVar("adresse_ip_" + %%bond)/%%calc_classe(%%getVar('adresse_netmask_' + %%bond))]
|
|
%elif %%bond_mode == 'dhcp'
|
|
dhcp4: yes
|
|
%else
|
|
dhcp4: no
|
|
%end if
|
|
parameters:
|
|
mode: %%getVar('bonding_mode_' + %%bond)
|
|
mii-monitor-interval: %%getVar('bonding_miimon_' + %%bond)
|
|
up-delay: %%getVar('bonding_updelay_' + %%bond)
|
|
down-delay: %%getVar('bonding_downdelay_' + %%bond)
|
|
%end for
|
|
%end if
|
|
|
|
%if len(vlans) > 0:
|
|
vlans:
|
|
%for vlan in %%vlans:
|
|
%for vlan_id in %%getVar('vlan_id_' + %%vlan):
|
|
vlan%%vlan_id:
|
|
id: %%vlan_id
|
|
link: %%getVar('nom_zone_' + %%vlan)
|
|
addresses: [ %%getattr(vlan_id, 'vlan_ip_' + %%vlan)/%%calc_classe(%%getattr(vlan_id, 'vlan_netmask_' + %%vlan)) ]
|
|
%end for
|
|
%end for
|
|
%end if
|