From 22ca21080cb72d63037cab8bf6b2caedba83aee2 Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Wed, 20 Sep 2023 17:32:58 +0100 Subject: [PATCH 1/3] Add retries to tasks that commonly fail in CI These tasks have been seen to fail: - stackhpc.pulp.pulp_repository : Sync container remotes into repositories - stackhpc.pulp.pulp_repository : Setup container remotes] I added repository retries for consistency. --- roles/pulp_repository/defaults/main.yml | 8 ++++++++ roles/pulp_repository/tasks/container.yml | 8 ++++++++ roles/pulp_repository/tasks/deb.yml | 8 ++++++++ roles/pulp_repository/tasks/python.yml | 8 ++++++++ roles/pulp_repository/tasks/rpm.yml | 8 ++++++++ 5 files changed, 40 insertions(+) diff --git a/roles/pulp_repository/defaults/main.yml b/roles/pulp_repository/defaults/main.yml index 7f02d0d..925b67a 100644 --- a/roles/pulp_repository/defaults/main.yml +++ b/roles/pulp_repository/defaults/main.yml @@ -12,6 +12,14 @@ pulp_repository_rpm_repos: [] pulp_repository_sync_retries: 3 pulp_repository_container_repos_sync_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_container_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_container_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" pulp_repository_deb_repos_sync_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_deb_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_deb_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" pulp_repository_python_repos_sync_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_python_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_python_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" pulp_repository_rpm_repos_sync_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_rpm_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_rpm_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" diff --git a/roles/pulp_repository/tasks/container.yml b/roles/pulp_repository/tasks/container.yml index 7caeb80..821b39a 100644 --- a/roles/pulp_repository/tasks/container.yml +++ b/roles/pulp_repository/tasks/container.yml @@ -10,6 +10,10 @@ loop: "{{ pulp_repository_container_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_container_repositories + until: "pulp_repository_container_repositories is not failed" + retries: "{{ pulp_repository_container_repositories_retries }}" + delay: 1 - name: Setup container remotes pulp.squeezer.container_remote: @@ -40,6 +44,10 @@ loop: "{{ pulp_repository_container_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_container_remotes + until: "pulp_repository_container_remotes is not failed" + retries: "{{ pulp_repository_container_remotes_retries }}" + delay: 1 - name: Sync container remotes into repositories pulp.squeezer.container_sync: diff --git a/roles/pulp_repository/tasks/deb.yml b/roles/pulp_repository/tasks/deb.yml index 890f349..def206d 100644 --- a/roles/pulp_repository/tasks/deb.yml +++ b/roles/pulp_repository/tasks/deb.yml @@ -10,6 +10,10 @@ loop: "{{ pulp_repository_deb_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_deb_repos_repositories + until: "pulp_repository_deb_repos_repositories is not failed" + retries: "{{ pulp_repository_deb_repos_repositories_retries }}" + delay: 1 - name: Setup DEB remotes pulp.squeezer.deb_remote: @@ -40,6 +44,10 @@ loop: "{{ pulp_repository_deb_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_deb_repos_remotes + until: "pulp_repository_deb_repos_remotes is not failed" + retries: "{{ pulp_repository_deb_repos_remotes_retries }}" + delay: 1 - name: Sync DEB remotes into repositories pulp.squeezer.deb_sync: diff --git a/roles/pulp_repository/tasks/python.yml b/roles/pulp_repository/tasks/python.yml index 33eac49..bd23fb2 100644 --- a/roles/pulp_repository/tasks/python.yml +++ b/roles/pulp_repository/tasks/python.yml @@ -10,6 +10,10 @@ loop: "{{ pulp_repository_python_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_python_repos_repositories + until: "pulp_repository_python_repos_repositories is not failed" + retries: "{{ pulp_repository_python_repos_repositories_retries }}" + delay: 1 - name: Setup PyPI remotes pulp.squeezer.python_remote: @@ -40,6 +44,10 @@ loop: "{{ pulp_repository_python_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_python_repos_remotes + until: "pulp_repository_python_repos_remotes is not failed" + retries: "{{ pulp_repository_python_repos_remotes_retries }}" + delay: 1 - name: Sync PyPI remotes into repositories pulp.squeezer.python_sync: diff --git a/roles/pulp_repository/tasks/rpm.yml b/roles/pulp_repository/tasks/rpm.yml index 514bb8a..ce9bdef 100644 --- a/roles/pulp_repository/tasks/rpm.yml +++ b/roles/pulp_repository/tasks/rpm.yml @@ -10,6 +10,10 @@ loop: "{{ pulp_repository_rpm_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_rpm_repos_repositories + until: "pulp_repository_rpm_repos_repositories is not failed" + retries: "{{ pulp_repository_rpm_repos_repositories_retries }}" + delay: 1 - name: Setup RPM remotes pulp.squeezer.rpm_remote: @@ -37,6 +41,10 @@ loop: "{{ pulp_repository_rpm_repos | map(attribute='name') }}" loop_control: index_var: repository_index + register: pulp_repository_rpm_repos_remotes + until: "pulp_repository_rpm_repos_remotes is not failed" + retries: "{{ pulp_repository_rpm_repos_remotes_retries }}" + delay: 1 - name: Sync RPM remotes into repositories pulp.squeezer.rpm_sync: From d3ebae62994ef9a8a61aa190bfec86b95b49d204 Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Wed, 20 Sep 2023 17:45:51 +0100 Subject: [PATCH 2/3] Apply suggestions from code review --- roles/pulp_repository/defaults/main.yml | 16 ++++++++-------- roles/pulp_repository/tasks/deb.yml | 12 ++++++------ roles/pulp_repository/tasks/python.yml | 12 ++++++------ roles/pulp_repository/tasks/rpm.yml | 12 ++++++------ 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/roles/pulp_repository/defaults/main.yml b/roles/pulp_repository/defaults/main.yml index 925b67a..faf87ed 100644 --- a/roles/pulp_repository/defaults/main.yml +++ b/roles/pulp_repository/defaults/main.yml @@ -12,14 +12,14 @@ pulp_repository_rpm_repos: [] pulp_repository_sync_retries: 3 pulp_repository_container_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_container_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_container_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_container_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_container_repositories_retries: "{{ pulp_repository_sync_retries }}" pulp_repository_deb_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_deb_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_deb_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_deb_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_deb_repositories_retries: "{{ pulp_repository_sync_retries }}" pulp_repository_python_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_python_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_python_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_python_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_python_repositories_retries: "{{ pulp_repository_sync_retries }}" pulp_repository_rpm_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_rpm_repos_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_rpm_repos_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_rpm_remotes_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_rpm_repositories_retries: "{{ pulp_repository_sync_retries }}" diff --git a/roles/pulp_repository/tasks/deb.yml b/roles/pulp_repository/tasks/deb.yml index def206d..54d6fa7 100644 --- a/roles/pulp_repository/tasks/deb.yml +++ b/roles/pulp_repository/tasks/deb.yml @@ -10,9 +10,9 @@ loop: "{{ pulp_repository_deb_repos | map(attribute='name') }}" loop_control: index_var: repository_index - register: pulp_repository_deb_repos_repositories - until: "pulp_repository_deb_repos_repositories is not failed" - retries: "{{ pulp_repository_deb_repos_repositories_retries }}" + register: pulp_repository_deb_repositories + until: "pulp_repository_deb_repositories is not failed" + retries: "{{ pulp_repository_deb_repositories_retries }}" delay: 1 - name: Setup DEB remotes @@ -44,9 +44,9 @@ loop: "{{ pulp_repository_deb_repos | map(attribute='name') }}" loop_control: index_var: repository_index - register: pulp_repository_deb_repos_remotes - until: "pulp_repository_deb_repos_remotes is not failed" - retries: "{{ pulp_repository_deb_repos_remotes_retries }}" + register: pulp_repository_deb_remotes + until: "pulp_repository_deb_remotes is not failed" + retries: "{{ pulp_repository_deb_remotes_retries }}" delay: 1 - name: Sync DEB remotes into repositories diff --git a/roles/pulp_repository/tasks/python.yml b/roles/pulp_repository/tasks/python.yml index bd23fb2..befaca4 100644 --- a/roles/pulp_repository/tasks/python.yml +++ b/roles/pulp_repository/tasks/python.yml @@ -10,9 +10,9 @@ loop: "{{ pulp_repository_python_repos | map(attribute='name') }}" loop_control: index_var: repository_index - register: pulp_repository_python_repos_repositories - until: "pulp_repository_python_repos_repositories is not failed" - retries: "{{ pulp_repository_python_repos_repositories_retries }}" + register: pulp_repository_python_repositories + until: "pulp_repository_python_repositories is not failed" + retries: "{{ pulp_repository_python_repositories_retries }}" delay: 1 - name: Setup PyPI remotes @@ -44,9 +44,9 @@ loop: "{{ pulp_repository_python_repos | map(attribute='name') }}" loop_control: index_var: repository_index - register: pulp_repository_python_repos_remotes - until: "pulp_repository_python_repos_remotes is not failed" - retries: "{{ pulp_repository_python_repos_remotes_retries }}" + register: pulp_repository_python_remotes + until: "pulp_repository_python_remotes is not failed" + retries: "{{ pulp_repository_python_remotes_retries }}" delay: 1 - name: Sync PyPI remotes into repositories diff --git a/roles/pulp_repository/tasks/rpm.yml b/roles/pulp_repository/tasks/rpm.yml index ce9bdef..a5d8a37 100644 --- a/roles/pulp_repository/tasks/rpm.yml +++ b/roles/pulp_repository/tasks/rpm.yml @@ -10,9 +10,9 @@ loop: "{{ pulp_repository_rpm_repos | map(attribute='name') }}" loop_control: index_var: repository_index - register: pulp_repository_rpm_repos_repositories - until: "pulp_repository_rpm_repos_repositories is not failed" - retries: "{{ pulp_repository_rpm_repos_repositories_retries }}" + register: pulp_repository_rpm_repositories + until: "pulp_repository_rpm_repositories is not failed" + retries: "{{ pulp_repository_rpm_repositories_retries }}" delay: 1 - name: Setup RPM remotes @@ -41,9 +41,9 @@ loop: "{{ pulp_repository_rpm_repos | map(attribute='name') }}" loop_control: index_var: repository_index - register: pulp_repository_rpm_repos_remotes - until: "pulp_repository_rpm_repos_remotes is not failed" - retries: "{{ pulp_repository_rpm_repos_remotes_retries }}" + register: pulp_repository_rpm_remotes + until: "pulp_repository_rpm_remotes is not failed" + retries: "{{ pulp_repository_rpm_remotes_retries }}" delay: 1 - name: Sync RPM remotes into repositories From 77eba5e836106b64f8ad8e0a9fd978d2e57dd7b0 Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Fri, 29 Sep 2023 11:14:37 +0100 Subject: [PATCH 3/3] Add extra variables to control retires of each action --- roles/pulp_repository/defaults/main.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/roles/pulp_repository/defaults/main.yml b/roles/pulp_repository/defaults/main.yml index faf87ed..f1ae7c5 100644 --- a/roles/pulp_repository/defaults/main.yml +++ b/roles/pulp_repository/defaults/main.yml @@ -9,17 +9,20 @@ pulp_repository_deb_repos: [] pulp_repository_python_repos: [] pulp_repository_rpm_repos: [] -pulp_repository_sync_retries: 3 +pulp_repository_retries: 3 +pulp_repository_sync_retries: "{{ pulp_repository_retries }}" +pulp_repository_remote_retries: "{{ pulp_repository_retries }}" +pulp_repository_create_repository_retries: "{{ pulp_repository_retries }}" pulp_repository_container_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_container_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_container_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_container_remotes_retries: "{{ pulp_repository_remote_retries }}" +pulp_repository_container_repositories_retries: "{{ pulp_repository_create_repository_retries }}" pulp_repository_deb_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_deb_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_deb_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_deb_remotes_retries: "{{ pulp_repository_remote_retries }}" +pulp_repository_deb_repositories_retries: "{{ pulp_repository_create_repository_retries }}" pulp_repository_python_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_python_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_python_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_python_remotes_retries: "{{ pulp_repository_remote_retries }}" +pulp_repository_python_repositories_retries: "{{ pulp_repository_create_repository_retries }}" pulp_repository_rpm_repos_sync_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_rpm_remotes_retries: "{{ pulp_repository_sync_retries }}" -pulp_repository_rpm_repositories_retries: "{{ pulp_repository_sync_retries }}" +pulp_repository_rpm_remotes_retries: "{{ pulp_repository_remote_retries }}" +pulp_repository_rpm_repositories_retries: "{{ pulp_repository_create_repository_retries }}"