From 736af2b9c29e375a184b863220641b7d254e7d04 Mon Sep 17 00:00:00 2001 From: Michael Fritch Date: Wed, 16 Mar 2022 07:39:03 -0600 Subject: [PATCH] cephadm: infer the default container image during pull Fixes: https://tracker.ceph.com/issues/54588 Signed-off-by: Michael Fritch --- src/cephadm/cephadm | 8 ++++---- src/cephadm/tests/test_cephadm.py | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index ceed17dab700c..8d3bfe4662fcd 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -4178,7 +4178,7 @@ def command_version(ctx): ################################## -@infer_image +@default_image def command_pull(ctx): # type: (CephadmContext) -> int @@ -7984,7 +7984,7 @@ def _get_parser(): parser_version.set_defaults(func=command_version) parser_pull = subparsers.add_parser( - 'pull', help='pull latest image version') + 'pull', help='pull the default container image') parser_pull.set_defaults(func=command_pull) parser_pull.add_argument( '--insecure', @@ -8041,7 +8041,7 @@ def _get_parser(): parser_adopt.add_argument( '--skip-pull', action='store_true', - help='do not pull the latest image before adopting') + help='do not pull the default image before adopting') parser_adopt.add_argument( '--force-start', action='store_true', @@ -8330,7 +8330,7 @@ def _get_parser(): parser_bootstrap.add_argument( '--skip-pull', action='store_true', - help='do not pull the latest image before bootstrapping') + help='do not pull the default image before bootstrapping') parser_bootstrap.add_argument( '--skip-firewalld', action='store_true', diff --git a/src/cephadm/tests/test_cephadm.py b/src/cephadm/tests/test_cephadm.py index 172fbaa23e328..f025fb9b2c999 100644 --- a/src/cephadm/tests/test_cephadm.py +++ b/src/cephadm/tests/test_cephadm.py @@ -1680,6 +1680,29 @@ class TestPull: cd.command_pull(ctx) assert err in str(e.value) + @mock.patch('cephadm.logger') + @mock.patch('cephadm.get_image_info_from_inspect', return_value={}) + @mock.patch('cephadm.get_last_local_ceph_image', return_value='last_local_ceph_image') + def test_image(self, get_last_local_ceph_image, get_image_info_from_inspect, logger): + cmd = ['pull'] + with with_cephadm_ctx(cmd) as ctx: + retval = cd.command_pull(ctx) + assert retval == 0 + assert ctx.image == cd.DEFAULT_IMAGE + + with mock.patch.dict(os.environ, {"CEPHADM_IMAGE": 'cephadm_image_environ'}): + cmd = ['pull'] + with with_cephadm_ctx(cmd) as ctx: + retval = cd.command_pull(ctx) + assert retval == 0 + assert ctx.image == 'cephadm_image_environ' + + cmd = ['--image', 'cephadm_image_param', 'pull'] + with with_cephadm_ctx(cmd) as ctx: + retval = cd.command_pull(ctx) + assert retval == 0 + assert ctx.image == 'cephadm_image_param' + class TestApplySpec: -- 2.39.5