From 2f03ced052b88227db59ec4d01312e2f4bdf70a8 Mon Sep 17 00:00:00 2001 From: Fabien Boucher Date: Feb 28 2020 15:41:51 +0000 Subject: koji-build and fedpkg-build role: wrap koji build in retries/until As reported here https://pagure.io/fedora-zuul-jobs/issue/41 we should make the task resilient to unexpected failure. It also takes care of the issue reported here: https://pagure.io/fedora-ci/general/issue/76 --- diff --git a/roles/fedpkg-build/tasks/main.yaml b/roles/fedpkg-build/tasks/main.yaml index 542555a..88a3dca 100644 --- a/roles/fedpkg-build/tasks/main.yaml +++ b/roles/fedpkg-build/tasks/main.yaml @@ -27,6 +27,15 @@ args: chdir: "{{ ansible_user_dir }}/{{ zuul.project.src_dir }}" register: fedpkg_build + failed_when: + - fedpkg_build is failure or + fedpkg_build.stdout is search("Server Error") or + fedpkg_build.stdout is search("ServerOffline") + retries: 3 + delay: 60 + until: + - fedpkg_build.stdout is not search("Server Error") + - fedpkg_build.stdout is not search("ServerOffline") - name: Get task ID set_fact: diff --git a/roles/koji-build/tasks/main.yaml b/roles/koji-build/tasks/main.yaml index e7363eb..ef7fcfe 100644 --- a/roles/koji-build/tasks/main.yaml +++ b/roles/koji-build/tasks/main.yaml @@ -13,6 +13,15 @@ command: | {{ koji_cmd }} build {% if scratch_build %} --scratch {% endif %} {{ target }} --wait {{ srpm }} register: koji_build + failed_when: + - koji_build is failure or + koji_build.stdout is search("Server Error") or + koji_build.stdout is search("ServerOffline") + retries: 3 + delay: 60 + until: + - koji_build.stdout is not search("Server Error") + - koji_build.stdout is not search("ServerOffline") - name: Get task ID set_fact: