#iiab_wireless_lan_iface(wlan0) - wifi_up_down False needs hw #iiab_wireless_lan_iface(ap0) - wifi_up_down True needs hw #hostapd_enabled False - set in hostapd.yml to avoid the enable with wifi_up_down False #no_net_restart: True - main.yml discovered_wireless_iface == iiab_wan_iface - name: Restart hostapd when WiFi is present but not when using WiFi as gateway systemd: name: hostapd state: restarted # when: iiab_wireless_lan_iface is defined and hostapd_enabled and discovered_wireless_iface != iiab_wan_iface # when: hostapd_enabled and iiab_wireless_lan_iface is defined and discovered_wireless_iface == iiab_wireless_lan_iface when: hostapd_enabled and not no_net_restart - name: Start named service systemd: name: "{{ dns_service }}" state: restarted when: named_enabled and named_install - name: Stop Squid service systemd: name: "{{ proxy }}" state: stopped async: 120 when: squid_install or squid_installed is defined - name: Stop DansGuardian systemd: name: dansguardian state: stopped when: dansguardian_install or dansguardian_installed is defined - name: Restart DansGuardian service (dansguardian) except Ubuntu which needs reboot to activate systemd: name: dansguardian state: restarted when: dansguardian_enabled and dansguardian_install and ( not is_ubuntu and iiab_stage|int < 4 ) # Squid get re-loaded with dispatcher.d - name: Restart Squid service ({{ proxy }}) systemd: name: "{{ proxy }}" state: restarted when: squid_enabled and squid_install - name: Restart Wondershaper service (wondershaper) systemd: name: wondershaper state: restarted when: wondershaper_enabled | bool - name: Restart Avahi service (avahi-daemon) systemd: name: avahi-daemon state: restarted - name: Create gateway flag shell: echo 1 > /etc/sysconfig/olpc-scripts/setup.d/installed/gateway args: creates: /etc/sysconfig/olpc-scripts/setup.d/installed/gateway when: iiab_network_mode == "Gateway" #netplan de-configures pre-created bridged interfaces #- name: Reload netplan when Wifi is not gateway on Ubuntu 18+ # shell: netplan apply # when: not no_net_restart and is_ubuntu and netplan.stdout.find("yaml") != -1 - name: Waiting {{ hostapd_wait }} seconds for network to stabilize (dnsmasq will fail if br0 isn't in a 'up' state!) shell: sleep {{ hostapd_wait }} - name: Run /usr/bin/iiab-gen-iptables command: /usr/bin/iiab-gen-iptables - name: Checking if WiFi slave is active shell: brctl show br0 | grep {{ iiab_wireless_lan_iface }} | wc -l when: hostapd_enabled and discovered_wireless_iface != iiab_wan_iface and iiab_lan_iface == "br0" register: wifi_slave - name: Restart hostapd if WiFi slave is inactive systemd: name: hostapd state: restarted when: hostapd_enabled and wifi_slave.stdout is defined and wifi_slave.stdout == 0 #both interfaces.d and systemd-networkd should have br0 available and Appliance lacks br0 - name: User choice of dnsmasq or dhcpd - restarting {{ dhcp_service2 }} systemd: name: "{{ dhcp_service2 }}" state: restarted when: (not no_net_restart) or wifi_up_down #when: (iiab_network_mode != "Appliance") # Sufficient b/c br0 exists thanks to /etc/network/interfaces.d/iiab #when: iiab_network_mode != "Appliance" and iiab_wan_iface != discovered_wireless_iface #keep an eye on legacy wifi installs where br0 is present but not 'online' with an ip address #due to hostapd didn't go to a carrier state. All others should get dnsmasq restarted