diff --git a/roles/reset/defaults/main.yml b/roles/reset/defaults/main.yml index 1e84da77dcc..293068cfd1a 100644 --- a/roles/reset/defaults/main.yml +++ b/roles/reset/defaults/main.yml @@ -2,21 +2,5 @@ flush_iptables: true reset_restart_network: true -reset_restart_network_service_name: >- - {% if ansible_os_family == "RedHat" -%} - {%- - if ansible_distribution_major_version | int >= 8 - or is_fedora_coreos or ansible_distribution in ["Fedora", "Kylin Linux Advanced Server", "TencentOS"] -%} - NetworkManager - {%- else -%} - network - {%- endif -%} - {%- elif ansible_distribution == "Ubuntu" - or (ansible_distribution == "Debian" and ansible_distribution_major_version | int == 12 ) -%} - systemd-networkd - {%- elif ansible_os_family == "Debian" -%} - networking - {%- endif %} - # crictl stop container grace period cri_stop_containers_grace_period: 0 diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml index b68a1777b61..85591455501 100644 --- a/roles/reset/tasks/main.yml +++ b/roles/reset/tasks/main.yml @@ -414,9 +414,27 @@ - network - name: Reset | Restart network - service: - name: "{{ reset_restart_network_service_name }}" - state: restarted + become: yes + vars: + network_services: + - NetworkManager + - systemd-networkd + - networking + - network + block: + - name: Gather active network services + shell: "systemctl is-active {{ item }}" + loop: "{{ network_services }}" + register: service_status + changed_when: false + ignore_errors: true + + - name: Restart active network services + systemd: + name: "{{ item.item }}" + state: restarted + loop: "{{ service_status.results }}" + when: item.stdout == "active" when: - ansible_os_family not in ["Flatcar", "Flatcar Container Linux by Kinvolk"] - reset_restart_network | bool