# sysd-netd-debian.yml - name: 'Install networkd-dispatcher package: name: - networkd-dispatcher # 15kB download: Dispatcher service for systemd-networkd connection status changes - name: Copy the bridge script - Creates br0 template: dest: /etc/systemd/network/IIAB-Bridge.netdev src: network/systemd-br0.j2 when: iiab_lan_iface == "br0" - name: Copy the bridge script - Assigns IP address template: dest: /etc/systemd/network/IIAB-Bridge.network src: network/systemd-br0-network.j2 when: iiab_lan_iface == "br0" # can be more than one wired interface - name: Wired enslaving - Assigns lan_list_results to br0 as wired slaves if present template: src: network/systemd-br0-slave.j2 dest: /etc/systemd/network/IIAB-Slave-{{ item|trim }}.network with_items: - "{{ lan_list_result.stdout_lines }}" when: iiab_wired_lan_iface is defined and num_lan_interfaces|int >= 1 and not network_manager_active - name: Remove static WAN template file: state: absent dest: /etc/systemd/network/IIAB-Static.network when: wan_ip == "dhcp" - name: Static IP computing CIDR shell: netmask {{ wan_ip }}/{{ wan_netmask }} | awk -F "/" '{print $2}' register: CIDR when: wan_ip != "dhcp" - name: Static IP setting CIDR set_fact: wan_cidr: "{{ CIDR.stdout }}" when: wan_ip != "dhcp" - name: Supply static WAN template when network_manager_active is False template: dest: /etc/systemd/network/IIAB-Static.network src: network/systemd-static-net.j2 when: wan_ip != "dhcp" and not network_manager_active #when: wan_ip != "dhcp" and ( is_ubuntu_16 or not network_manager_active ) - name: Create networkd-dispatcher diagnostic hook for recording network events template: owner: root group: root mode: 0755 src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - { src: 'hostapd/00-iiab-debug', dest: '/etc/networkd-dispatcher/carrier.d/00-iiab-debug' } - { src: 'hostapd/00-iiab-debug', dest: '/etc/networkd-dispatcher/degraded.d/00-iiab-debug' } - { src: 'hostapd/00-iiab-debug', dest: '/etc/networkd-dispatcher/dormant.d/00-iiab-debug' } - { src: 'hostapd/00-iiab-debug', dest: '/etc/networkd-dispatcher/no-carrier.d/00-iiab-debug' } - { src: 'hostapd/00-iiab-debug', dest: '/etc/networkd-dispatcher/off.d/00-iiab-debug' } - { src: 'hostapd/00-iiab-debug', dest: '/etc/networkd-dispatcher/routable.d/00-iiab-debug' } # when: discovered_wireless_iface != "none" or discovered_wired_iface != "none" - name: Create networkd-dispatcher hook for ap0 on RPi hardware with wifi_up_down True template: owner: root group: root mode: 0755 src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - { src: 'hostapd/netd-disp', dest: '/etc/networkd-dispatcher/carrier.d/iiab-wifi' } - { src: 'hostapd/netd-disp', dest: '/etc/networkd-dispatcher/no-carrier.d/iiab-wifi' } - { src: 'hostapd/netd-disp2', dest: '/etc/networkd-dispatcher/routable.d/iiab-wifi2' } when: discovered_wireless_iface != "none" and rpi_model != "none" and wifi_up_down - name: Remove networkd-dispatcher hook for ap0 on RPi hardware with wifi_up_down False file: path: "{{ item.dest }}" state: absent with_items: - { dest: '/etc/networkd-dispatcher/carrier.d/iiab-wifi' } - { dest: '/etc/networkd-dispatcher/no-carrier.d/iiab-wifi' } - { dest: '/etc/networkd-dispatcher/routable.d/iiab-wifi' } - { dest: '/etc/networkd-dispatcher/routable.d/iiab-wifi2' } when: discovered_wireless_iface != "none" and rpi_model != "none" and not wifi_up_down - name: Reload systemd systemd: daemon_reload: yes - name: Enable & Restart systemd-networkd.service systemd: name: systemd-networkd state: restarted enabled: yes masked: no - name: Enable & Restart systemd-resolved.service systemd: name: systemd-resolved state: restarted enabled: yes masked: no