# 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" and (iiab_lan_iface == "br0" or wan_ip != "dhcp") - name: Copy the bridge script template: dest=/etc/network/interfaces.d/iiab src=network/systemd.j2 register: interface when: iiab_lan_iface == "br0" or wan_ip != "dhcp" - name: If this was a change, things need to shift service: name=hostapd state=stopped when: interface.changed - 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 - name: dhcpd_server may be affected - stopping dnsmasq service: name=dnsmasq state=stopped when: dnsmasq_install - name: reload systemd shell: systemctl daemon-reload # now pick up denyinterfaces - name: restart dhcpcd service: name=dhcpcd state=restarted when: interface.changed and dhcpcd_result == "enabled" - name: restart the networking service service: name=networking state=restarted when: interface.changed - name: restart hostapd when wifi is present service: name=hostapd state=started when: iiab_wireless_lan_iface != "none" and hostapd_enabled and iiab_network_mode != "Appliance" - name: dhcp_server may be affected - starting - user choice service: name={{ dhcp_service2 }} state=started