From: Sebastian Wagner Date: Fri, 25 Jun 2021 15:21:49 +0000 (+0200) Subject: cephadm: Fix normalize_image_digest for local registries X-Git-Tag: v17.1.0~1535^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F42031%2Fhead;p=ceph.git cephadm: Fix normalize_image_digest for local registries Cause they typically don't have dots in it. Signed-off-by: Sebastian Wagner --- diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 8b77b787d2ff..6d8e0a2f913d 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -3371,7 +3371,7 @@ def normalize_image_digest(digest): # quay.ceph.io/ceph/ceph -> ceph # docker.io/ubuntu -> no change bits = digest.split('/') - if '.' not in bits[0] or len(bits) < 3: + if '.' not in bits[0] and len(bits) < 3: digest = DEFAULT_REGISTRY + '/' + digest return digest diff --git a/src/cephadm/tests/test_cephadm.py b/src/cephadm/tests/test_cephadm.py index ee7efad82cbc..7e16a101511a 100644 --- a/src/cephadm/tests/test_cephadm.py +++ b/src/cephadm/tests/test_cephadm.py @@ -535,6 +535,12 @@ docker.io/ceph/daemon-base:octopus ctx.container_engine = mock_docker() assert not cd.should_log_to_journald(ctx) + def test_normalize_image_digest(self): + s = 'myhostname:5000/ceph/ceph@sha256:753886ad9049004395ae990fbb9b096923b5a518b819283141ee8716ddf55ad1' + assert cd.normalize_image_digest(s) == s + + s = 'ceph/ceph:latest' + assert cd.normalize_image_digest(s) == f'{cd.DEFAULT_REGISTRY}/{s}' class TestCustomContainer(unittest.TestCase): cc: cd.CustomContainer