diff --git a/host_vars/cameron.adm.crans.org b/host_vars/cameron.adm.crans.org index eb52e33d..22235c8a 100644 --- a/host_vars/cameron.adm.crans.org +++ b/host_vars/cameron.adm.crans.org @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_borg: to_exclude: - /var/mail diff --git a/host_vars/daneel.adm.crans.org.yml b/host_vars/daneel.adm.crans.org.yml index 9c85efa9..94a1a3ec 100644 --- a/host_vars/daneel.adm.crans.org.yml +++ b/host_vars/daneel.adm.crans.org.yml @@ -1,4 +1,5 @@ --- interfaces: + disable: true adm: ens18 san: ens19 diff --git a/host_vars/daniel.adm.crans.org.yml b/host_vars/daniel.adm.crans.org.yml index 478b69ea..01b46fd4 100644 --- a/host_vars/daniel.adm.crans.org.yml +++ b/host_vars/daniel.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_slapd: ip: "{{ query('ldap', 'ip4', 'daniel', 'adm') }}" replica: true diff --git a/host_vars/ft.adm.crans.org.yml b/host_vars/ft.adm.crans.org.yml index 79ae4a42..0d0d24f4 100644 --- a/host_vars/ft.adm.crans.org.yml +++ b/host_vars/ft.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_borg: to_backup: - /etc diff --git a/host_vars/gulp.adm.crans.org.yml b/host_vars/gulp.adm.crans.org.yml index 4c4ef29d..5ac1f216 100644 --- a/host_vars/gulp.adm.crans.org.yml +++ b/host_vars/gulp.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_debian_images: include_extra_images: true diff --git a/host_vars/jack.adm.crans.org.yml b/host_vars/jack.adm.crans.org.yml index 2f0a0487..8f17200b 100644 --- a/host_vars/jack.adm.crans.org.yml +++ b/host_vars/jack.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_slapd: ip: "{{ query('ldap', 'ip4', 'jack', 'adm') }}" replica: true diff --git a/host_vars/listenup.adm.crans.org.yml b/host_vars/listenup.adm.crans.org.yml index 9c85efa9..94a1a3ec 100644 --- a/host_vars/listenup.adm.crans.org.yml +++ b/host_vars/listenup.adm.crans.org.yml @@ -1,4 +1,5 @@ --- interfaces: + disable: true adm: ens18 san: ens19 diff --git a/host_vars/odlyd.adm.crans.org.yml b/host_vars/odlyd.adm.crans.org.yml index 4c4ef29d..5ac1f216 100644 --- a/host_vars/odlyd.adm.crans.org.yml +++ b/host_vars/odlyd.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_debian_images: include_extra_images: true diff --git a/host_vars/routeur-daniel.adm.crans.org/vars.yml b/host_vars/routeur-daniel.adm.crans.org/vars.yml index 8b24f1a9..817bff2f 100644 --- a/host_vars/routeur-daniel.adm.crans.org/vars.yml +++ b/host_vars/routeur-daniel.adm.crans.org/vars.yml @@ -1,5 +1,6 @@ --- interfaces: + disable: true adm: ens18 via: ens19 aurore: ens20 diff --git a/host_vars/routeur-jack.adm.crans.org/vars.yml b/host_vars/routeur-jack.adm.crans.org/vars.yml index 8b24f1a9..817bff2f 100644 --- a/host_vars/routeur-jack.adm.crans.org/vars.yml +++ b/host_vars/routeur-jack.adm.crans.org/vars.yml @@ -1,5 +1,6 @@ --- interfaces: + disable: true adm: ens18 via: ens19 aurore: ens20 diff --git a/host_vars/routeur-sam.adm.crans.org/vars.yml b/host_vars/routeur-sam.adm.crans.org/vars.yml index 8b24f1a9..817bff2f 100644 --- a/host_vars/routeur-sam.adm.crans.org/vars.yml +++ b/host_vars/routeur-sam.adm.crans.org/vars.yml @@ -1,5 +1,6 @@ --- interfaces: + disable: true adm: ens18 via: ens19 aurore: ens20 diff --git a/host_vars/sam.adm.crans.org.yml b/host_vars/sam.adm.crans.org.yml index e0f65f21..4e43a437 100644 --- a/host_vars/sam.adm.crans.org.yml +++ b/host_vars/sam.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_borg: to_backup: - /etc diff --git a/host_vars/stitch.adm.crans.org.yml b/host_vars/stitch.adm.crans.org.yml index 119fa7ab..618d7325 100644 --- a/host_vars/stitch.adm.crans.org.yml +++ b/host_vars/stitch.adm.crans.org.yml @@ -1,3 +1,6 @@ --- +interfaces: + disable: true + loc_debian_images: include_extra_images: true diff --git a/host_vars/tealc.adm.crans.org.yml b/host_vars/tealc.adm.crans.org.yml index 68407ac2..841968a9 100644 --- a/host_vars/tealc.adm.crans.org.yml +++ b/host_vars/tealc.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + debian_mirror: 'file:/pool/mirror/pub/debian' loc_postgres: diff --git a/host_vars/thot.adm.crans.org.yml b/host_vars/thot.adm.crans.org.yml index 3b0dd8e1..2136db1c 100644 --- a/host_vars/thot.adm.crans.org.yml +++ b/host_vars/thot.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_borg: to_backup: - /etc diff --git a/host_vars/zamok.adm.crans.org.yml b/host_vars/zamok.adm.crans.org.yml index b0851a06..2ca56e49 100644 --- a/host_vars/zamok.adm.crans.org.yml +++ b/host_vars/zamok.adm.crans.org.yml @@ -1,4 +1,7 @@ --- +interfaces: + disable: true + loc_borg: to_exclude: - /var/mail diff --git a/plays/network_interfaces.yml b/plays/network_interfaces.yml index a1e5f134..3acbff02 100755 --- a/plays/network_interfaces.yml +++ b/plays/network_interfaces.yml @@ -1,6 +1,6 @@ #!/usr/bin/env ansible-playbook --- -- hosts: crans_vm,!routeurs_vm +- hosts: server vars: network_interfaces: "{{ glob_network_interfaces | default({}) | combine(loc_network_interfaces | default({})) }}" roles: diff --git a/roles/isc-dhcp-server/templates/dhcp/dhcpd.conf.j2 b/roles/isc-dhcp-server/templates/dhcp/dhcpd.conf.j2 index acc90805..d89afa56 100644 --- a/roles/isc-dhcp-server/templates/dhcp/dhcpd.conf.j2 +++ b/roles/isc-dhcp-server/templates/dhcp/dhcpd.conf.j2 @@ -35,7 +35,7 @@ include "./dhcp-failover.conf"; {% for subnet in dhcp.subnets %} -subnet {{ subnet.network | ansible.utils.netaddr('network') }} netmask {{ subnet.network | ansible.utils.netaddr('netmask') }} { +subnet {{ subnet.network | ansible.utils.ipaddr('network') }} netmask {{ subnet.network | ansible.utils.ipaddr('netmask') }} { interface "{{ interfaces[subnet.vlan] }}"; {% if subnet.default_lease_time is defined %} default-lease-time {{ subnet.default_lease_time }}; @@ -43,8 +43,8 @@ subnet {{ subnet.network | ansible.utils.netaddr('network') }} netmask {{ subnet {% if subnet.max_lease_time is defined %} max-lease-time {{ subnet.max_lease_time }}; {% endif %} - option subnet-mask {{ subnet.network | ansible.utils.netaddr('netmask') }}; - option broadcast-address {{ subnet.network | ansible.utils.netaddr('broadcast') }}; + option subnet-mask {{ subnet.network | ansible.utils.ipaddr('netmask') }}; + option broadcast-address {{ subnet.network | ansible.utils.ipaddr('broadcast') }}; {% if subnet.routers is defined %} option routers {{ subnet.routers }}; {% endif %} diff --git a/roles/network-interfaces/tasks/main.yml b/roles/network-interfaces/tasks/main.yml index 503a9c42..4acf9606 100644 --- a/roles/network-interfaces/tasks/main.yml +++ b/roles/network-interfaces/tasks/main.yml @@ -9,17 +9,19 @@ register: apt_result retries: 3 until: apt_result is succeeded + when: not (interfaces.disable is defined and interfaces.disable) - name: Deploy default interfaces config template: src: network/interfaces.j2 dest: /etc/network/interfaces mode: 0644 + when: interfaces is defined and not (interfaces.disable is defined and interfaces.disable) - name: Deploy interfaces config template: src: network/interfaces.d/ifalias.j2 dest: /etc/network/interfaces.d/{{ '%02d' | format(item.id) }}-{{ item.name | replace('_', '-') }} mode: 0644 - when: item.name in interfaces + when: interfaces is defined and item.name in interfaces and not (interfaces.disable is defined and interfaces.disable) loop: "{{ network_interfaces.vlan }}"