diff --git a/roles/os_systemd_networkd/defaults/main.yml b/roles/os_systemd_networkd/defaults/main.yml index 9fbcb11..da73e62 100644 --- a/roles/os_systemd_networkd/defaults/main.yml +++ b/roles/os_systemd_networkd/defaults/main.yml @@ -8,8 +8,8 @@ systemd_networkd_directory: /etc/systemd/network systemd_networkd_conf_directory: /etc/systemd/networkd.conf.d systemd_networkd_apply_config: false -systemd_networkd_enable_resolved: true -systemd_networkd_symlink_resolv_conf: true +systemd_networkd_enable_resolved: false +systemd_networkd_symlink_resolv_conf: "{{ systemd_networkd_enable_resolved }}" systemd_networkd_cleanup: false systemd_networkd_cleanup_patterns: [] diff --git a/roles/os_systemd_networkd/tasks/main.yml b/roles/os_systemd_networkd/tasks/main.yml index f14a567..f832735 100644 --- a/roles/os_systemd_networkd/tasks/main.yml +++ b/roles/os_systemd_networkd/tasks/main.yml @@ -1,8 +1,43 @@ --- + +- name: Display os_systemd_networkd role + ansible.builtin.debug: + var: role_config + 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 @@ -20,6 +55,7 @@ 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 @@ -29,4 +65,5 @@ state: link force: true when: systemd_networkd_symlink_resolv_conf + # vim: set ts=2 sw=2: