From f17151ee5f66a0b68e9d7f1455812e4f73c208aa Mon Sep 17 00:00:00 2001 From: Redouane Kachach Date: Tue, 31 May 2022 12:59:26 +0200 Subject: [PATCH] mgr/cephadm: capture exception when not able to list upgrade tags Fixes: https://tracker.ceph.com/issues/55801 Signed-off-by: Redouane Kachach (cherry picked from commit 0e7a4366c0c1edd74d52acad5ed4dc3df0ef7679) --- src/pybind/mgr/cephadm/registry.py | 6 +++++- src/pybind/mgr/cephadm/upgrade.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pybind/mgr/cephadm/registry.py b/src/pybind/mgr/cephadm/registry.py index 7b293a4c1a528..31e5fb23e807b 100644 --- a/src/pybind/mgr/cephadm/registry.py +++ b/src/pybind/mgr/cephadm/registry.py @@ -39,7 +39,11 @@ class Registry: headers = {'Accept': 'application/json'} url = f'https://{self.api_domain}/v2/{image}/tags/list' while True: - r = requests.get(url, headers=headers) + try: + r = requests.get(url, headers=headers) + except requests.exceptions.ConnectionError as e: + msg = f"Cannot get tags from url '{url}': {e}" + raise ValueError(msg) from e if r.status_code == 401: if 'Authorization' in headers: raise ValueError('failed authentication') diff --git a/src/pybind/mgr/cephadm/upgrade.py b/src/pybind/mgr/cephadm/upgrade.py index 3cedae582442d..70a452d324f4b 100644 --- a/src/pybind/mgr/cephadm/upgrade.py +++ b/src/pybind/mgr/cephadm/upgrade.py @@ -266,7 +266,11 @@ class CephadmUpgrade: "registry": reg_name, "bare_image": bare_image, } - ls = reg.get_tags(bare_image) + + try: + ls = reg.get_tags(bare_image) + except ValueError as e: + raise OrchestratorError(f'{e}') if not tags: for t in ls: if t[0] != 'v': -- 2.39.5