From b9b8edc6a4c9f95e167182319f198f5da92745ac Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Tue, 3 Oct 2017 09:03:33 -0400 Subject: [PATCH] 8333: Support "myrepo.example:8888/repo/image:tag" Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- sdk/python/arvados/commands/keepdocker.py | 3 ++- sdk/python/tests/test_arv_keepdocker.py | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sdk/python/arvados/commands/keepdocker.py b/sdk/python/arvados/commands/keepdocker.py index 448695902b..0951651ab9 100644 --- a/sdk/python/arvados/commands/keepdocker.py +++ b/sdk/python/arvados/commands/keepdocker.py @@ -364,7 +364,8 @@ def main(arguments=None, stdout=sys.stdout): "image %r already includes a tag, cannot add tag argument %r", args.image, args.tag) sys.exit(1) - args.image, args.tag = args.image.split(':', 1) + # rsplit() accommodates "myrepo.example:8888/repo/image:tag" + args.image, args.tag = args.image.rsplit(':', 1) elif args.tag is None: args.tag = 'latest' diff --git a/sdk/python/tests/test_arv_keepdocker.py b/sdk/python/tests/test_arv_keepdocker.py index bf22860a5b..777d762317 100644 --- a/sdk/python/tests/test_arv_keepdocker.py +++ b/sdk/python/tests/test_arv_keepdocker.py @@ -130,3 +130,9 @@ class ArvKeepdockerTestCase(unittest.TestCase, tutil.VersionChecker): side_effect=StopTest) as find_image_mock: self.run_arv_keepdocker(['repo:tag'], sys.stderr) find_image_mock.assert_called_with('repo', 'tag') + + with self.assertRaises(StopTest), \ + mock.patch('arvados.commands.keepdocker.find_one_image_hash', + side_effect=StopTest) as find_image_mock: + self.run_arv_keepdocker(['myreg.example:8888/repo/img:tag'], sys.stderr) + find_image_mock.assert_called_with('myreg.example:8888/repo/img', 'tag') -- 2.30.2