diff --git a/tasks/main.yml b/tasks/main.yml index 4deb3a003..c55f5efef 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -36,6 +36,9 @@ when: - not network_packages is subset(ansible_facts.packages.keys()) register: __network_package_install + until: __network_package_install is success + retries: 6 + delay: 10 - name: Install NetworkManager and nmstate when using network_state variable package: diff --git a/tests/tasks/create_test_interfaces_with_dhcp.yml b/tests/tasks/create_test_interfaces_with_dhcp.yml index 98f50612e..1c42c34e4 100644 --- a/tests/tasks/create_test_interfaces_with_dhcp.yml +++ b/tests/tasks/create_test_interfaces_with_dhcp.yml @@ -6,6 +6,14 @@ state: present use: "{{ (__network_is_ostree | d(false)) | ternary('ansible.posix.rhel_rpm_ostree', omit) }}" + register: __install_status + # sometimes the rpm download returns a 403 - I think it is when too + # many parallel jobs attempt the download from the same controller in + # too short a period of time, so the epel server throttles additional + # downloads - use a retry here to mitigate + until: __install_status is success + retries: 6 + delay: 10 - name: Install pgrep, sysctl package: diff --git a/tests/tasks/manage_test_interface.yml b/tests/tasks/manage_test_interface.yml index e4352e8fd..c05ef8241 100644 --- a/tests/tasks/manage_test_interface.yml +++ b/tests/tasks/manage_test_interface.yml @@ -19,6 +19,10 @@ state: present use: "{{ (__network_is_ostree | d(false)) | ternary('ansible.posix.rhel_rpm_ostree', omit) }}" + register: __install_status + until: __install_status is success + retries: 6 + delay: 10 # veth - name: Create veth interface {{ interface }} diff --git a/tests/tasks/setup_802_1x_server.yml b/tests/tasks/setup_802_1x_server.yml index a99496588..0041a5a54 100644 --- a/tests/tasks/setup_802_1x_server.yml +++ b/tests/tasks/setup_802_1x_server.yml @@ -19,6 +19,10 @@ state: present use: "{{ (__network_is_ostree | d(false)) | ternary('ansible.posix.rhel_rpm_ostree', omit) }}" + register: __install_status + until: __install_status is success + retries: 6 + delay: 10 - name: Create directory for test certificates file: diff --git a/tests/tasks/setup_mock_wifi.yml b/tests/tasks/setup_mock_wifi.yml index e8d7abc49..94a19f798 100644 --- a/tests/tasks/setup_mock_wifi.yml +++ b/tests/tasks/setup_mock_wifi.yml @@ -9,6 +9,10 @@ state: present use: "{{ (__network_is_ostree | d(false)) | ternary('ansible.posix.rhel_rpm_ostree', omit) }}" + register: __install_status + until: __install_status is success + retries: 6 + delay: 10 - name: Ensure NetworkManager is running service: diff --git a/tests/tasks/setup_mock_wifi_wpa3_owe.yml b/tests/tasks/setup_mock_wifi_wpa3_owe.yml index cba987f5d..5d8048de1 100644 --- a/tests/tasks/setup_mock_wifi_wpa3_owe.yml +++ b/tests/tasks/setup_mock_wifi_wpa3_owe.yml @@ -8,6 +8,10 @@ state: present use: "{{ (__network_is_ostree | d(false)) | ternary('ansible.posix.rhel_rpm_ostree', omit) }}" + register: __install_status + until: __install_status is success + retries: 6 + delay: 10 - name: Check if can test on CentOS and setup if possible when: ansible_distribution == 'CentOS' diff --git a/tests/tasks/setup_mock_wifi_wpa3_sae.yml b/tests/tasks/setup_mock_wifi_wpa3_sae.yml index 00418cd6e..94078e69f 100644 --- a/tests/tasks/setup_mock_wifi_wpa3_sae.yml +++ b/tests/tasks/setup_mock_wifi_wpa3_sae.yml @@ -8,6 +8,10 @@ state: present use: "{{ (__network_is_ostree | d(false)) | ternary('ansible.posix.rhel_rpm_ostree', omit) }}" + register: __install_status + until: __install_status is success + retries: 6 + delay: 10 - name: Configure CentOS system for testing, if possible when: ansible_distribution == 'CentOS' @@ -42,6 +46,10 @@ state: present when: - ansible_distribution == 'Fedora' + register: __install_status + until: __install_status is success + retries: 6 + delay: 10 # Since DNF package manager can not warrant installing the kernel module with # the same version as the kernel in target machine, install the kernel module