# debian.yml # Start out making simplifying assumptions # 1. we are dealing with a rpi3 # 2. Gui inputs define the config -- auto config is more difficult # a. gui_desired_network_role # b. hostapd_enabled # c. gui_static_wan_ip # 3. In appliance mode: wan (and wlan0) is either static or dhcp under br0, and hostapd off # 4. In lan_controller: wan is off, eth0 and wlan0 under br0 # 5. In gateway: eth0 is wan, and wlan0 is under br0 (only one adapter under br0) # 6. As a slight concess to auto config, if eth1 exists, make it wan, and force gateway #- name: In upgrade from earlier IIAB 6.2, delete the resolvconf # package: name=resolvconf # state=absent # enabled=False # ignore_errors: True #- name: Get the dhcp client daemon used in recent raspbian # package: name=dhcpcd5 # state=present - name: For upgrades from earlier IIAB 6.2, remove br0 file file: path: /etc/network/interfaces.d/br0 state: absent when: iiab_lan_iface != "br0" and wan_ip == "dhcp" - name: Supply resolvconf.conf template: dest: /etc/resolvconf.conf src: network/resolvconf.j2 - name: Supply dhcpcd.conf template: dest: /etc/dhcpcd.conf src: network/dhcpcd.conf.j2 when: dhcpcd_result == "enabled" - name: Copy the bridge script template: dest: /etc/network/interfaces.d/iiab src: network/systemd.j2 when: not is_rpi and (iiab_lan_iface == "br0" or wan_ip != "dhcp" or gui_static_wan_ip == "undefined") - name: Copy the bridge script for RPi template: dest: /etc/network/interfaces.d/iiab src: network/rpi.j2 when: is_rpi and iiab_lan_iface == "br0" - name: Workaround auto issue - ifupdown compatibility mode (debian-9+) template: dest: /etc/network/interfaces.d/patch_auto src: network/debian-auto.j2 when: iiab_wan_iface != "none" and is_debian and not is_debian_8 - name: Clearing out /etc/network/interfaces for static addresses (debian-9+) lineinfile: state: absent path: /etc/network/interfaces regexp: "{{ iiab_wan_iface }}" when: wan_ip != "dhcp" and iiab_wan_iface != "none" and is_debian and not is_debian_8 - name: BIND may be affected service: name: "{{ dns_service }}" state: stopped when: named_install and dnsmasq_enabled # dhcpd_server release the interface - name: dhcpd_server may be affected - stopping dhcpd service: name: dhcpd state: stopped when: dhcpd_install | bool - name: dhcpd_server may be affected - stopping dnsmasq service: name: dnsmasq state: stopped when: dnsmasq_install | bool - name: Reload systemd systemd: daemon_reload: yes # now pick up denyinterfaces - name: Restart dhcpcd service: name: dhcpcd state: restarted when: dhcpcd_result == "enabled" - name: Restart the networking service service: name: networking state: restarted when: not nobridge is defined and not no_net_restart