From 33edc13743f79f3a73071eb4550fb4e2aee1365e Mon Sep 17 00:00:00 2001 From: Tomas Sebestik Date: Mon, 17 Jan 2022 07:23:03 +0100 Subject: [PATCH] Handle gitlab 404 error --- tools/ci/python_packages/gitlab_api.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/ci/python_packages/gitlab_api.py b/tools/ci/python_packages/gitlab_api.py index f380bc1c86..bd5322cf3d 100644 --- a/tools/ci/python_packages/gitlab_api.py +++ b/tools/ci/python_packages/gitlab_api.py @@ -25,9 +25,16 @@ def retry(func: TR) -> TR: try: res = func(self, *args, **kwargs) except (IOError, EOFError, gitlab.exceptions.GitlabError) as e: - if isinstance(e, gitlab.exceptions.GitlabError) and e.response_code != 500: - # Only retry on error 500 - raise e + if isinstance(e, gitlab.exceptions.GitlabError): + if e.response_code == 500: + # retry on this error + pass + elif e.response_code == 404: + # remove the environment variable "LOCAL_GITLAB_HTTPS_HOST" and retry + os.environ.pop('LOCAL_GITLAB_HTTPS_HOST', None) + else: + # other GitlabErrors aren't retried + raise e retried += 1 if retried > self.DOWNLOAD_ERROR_MAX_RETRIES: raise e # get out of the loop