--- - name: Display os_systemd_networkd role ansible.builtin.debug: var: role_config verbosity: 1 vars: role_config: systemd_networkd_conf_directory: "{{ systemd_networkd_conf_directory }}" systemd_networkd_manage_nsswitch_config: "{{ systemd_networkd_manage_nsswitch_config }}" systemd_networkd_enable_resolved: "{{ systemd_networkd_enable_resolved }}" all_confs: systemd_networkd_rt_tables: "{{ systemd_networkd_rt_tables }}" systemd_networkd_link: "{{ systemd_networkd_link }}" systemd_networkd_netdev: "{{ systemd_networkd_netdev }}" systemd_networkd_network: "{{ systemd_networkd_network }}" systemd_networkd_conf: "{{ systemd_networkd_conf }}" tasks: - "Use systemd-resolved service: {{ systemd_networkd_enable_resolved }}" - "Use systemd-stub-resolver (/etc/resolv.conf): {{ systemd_networkd_symlink_resolv_conf }}" - "Manage /etc/nsswitch.conf: {{ systemd_networkd_manage_nsswitch_config }}" - Ensure required packages are installed - "Ensure rtables in {{ systemd_networkd_rttables_conf_file }}: {{ systemd_networkd_rt_tables | length }} routes" - Cleanup /etc/systemd/network path - "Ensure '{{ systemd_networkd_conf_directory }}' is correctly setup" - Ensure systemd-networkd service is updated and running tags: - config_show - name: Import cleanup tasks ansible.builtin.import_tasks: cleanup.yml when: systemd_networkd_cleanup | bool - name: Ensure systemd-resolved package status become: true ansible.builtin.package: name: systemd-resolved state: "{{ systemd_networkd_enable_resolved | ternary('present', 'absent') }}" #when: systemd_networkd_enable_resolved - name: Import config tasks ansible.builtin.import_tasks: config.yml - name: Enable systemd-networkd become: true ansible.builtin.systemd: name: systemd-networkd enabled: true when: (systemd_networkd_network | length > 0) or (systemd_networkd_link | length > 0) or (systemd_networkd_netdev | length > 0) - name: Start and enable systemd-resolved become: true ansible.builtin.systemd: name: systemd-resolved enabled: true state: started when: systemd_networkd_enable_resolved ignore_errors: "{{ ansible_check_mode }}" - name: Replace /etc/resolv.conf with a symlink to the systemd-resolved stub become: true ansible.builtin.file: path: /etc/resolv.conf src: /run/systemd/resolve/stub-resolv.conf state: link force: true when: systemd_networkd_symlink_resolv_conf # vim: set ts=2 sw=2: