- name: Disable cloud-init the easy way shell: touch /etc/cloud/cloud-init.disabled when: item|trim == "50-cloud-init.yaml" with_items: - "{{ netplan.stdout_lines }}" - name: Moving 50-cloud-init.yaml to 02-iiab-config.yaml shell: mv /etc/netplan/50-cloud-init.yaml /etc/netplan/02-iiab-config.yaml when: netplan.stdout.find("yaml") != -1 and item|trim == "50-cloud-init.yaml" with_items: - "{{ netplan.stdout_lines }}" - name: Cheap way to do systemd unmask file: state: absent dest: /etc/systemd/system/systemd-networkd-wait-online.service - name: Ensure systemd-networkd-wait-online is enabled systemd: name: "{{ item }}" enabled: yes with_items: - systemd-networkd-wait-online when: systemd_networkd_active - name: Unmask and enable the systemd-networkd service for br0 systemd: name: systemd-networkd enabled: yes masked: no when: network_manager_active and iiab_lan_iface == "br0" - name: Ensure systemd-networkd gets enabled for br0 set_fact: systemd_networkd_active: True when: network_manager_active and iiab_lan_iface == "br0" # ICO will always set gui_static_wan_ip away from the default of 'unset' while # gui_static_wan turns dhcp on/off through wan_ip in computed_network and # overrides gui_static_wan_ip that is present. Changing wan_ip in local_vars # is a oneway street to static. #- 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: Remove stock netplan template file: state: absent path: /etc/netplan/{{ item }} when: netplan.stdout.find("yaml") != -1 and item|trim != "02-iiab-config.yaml" and wan_ip != "dhcp" with_items: - "{{ netplan.stdout_lines }}" - name: Replace networkd-dispatcher #2585 for "groovy" get_url: url: https://gitlab.com/craftyguy/networkd-dispatcher/-/raw/2.1/networkd-dispatcher dest: /usr/bin/networkd-dispatcher when: internet_available and fix_dispatcher and ansible_distribution_release == "groovy" #- name: Supply netplan template # template: # dest: /etc/netplan/01-iiab-config.yaml # src: network/netplan.j2 # backup: no # when: iiab_wan_iface != discovered_wireless_iface and wan_ip != "dhcp" # should blow up here if we messed up the yml file #- name: Generate netplan config # shell: netplan generate --debug #- name: Stopping services # include_tasks: down-debian.yml # wants a controlling terminal for the ENTER key, so it fails #- name: Test netplan config # shell: netplan try --debug --timeout=2 # register: test-netplan # ignore_errors: True # and does not apply the generated config until rebooted # or ignore the above test - on the fence atm... #- name: Reload netplan # shell: netplan apply # when: not no_net_restart and test-netplan == "Configuration accepted"