X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ffb304afad93f50fd6ee43ecda6584dd0ac000c4..36e23b3761e43231789df66dc441727c000a2ffc:/sdk/python/arvados/commands/keepdocker.py diff --git a/sdk/python/arvados/commands/keepdocker.py b/sdk/python/arvados/commands/keepdocker.py index 22ea4760c9..448695902b 100644 --- a/sdk/python/arvados/commands/keepdocker.py +++ b/sdk/python/arvados/commands/keepdocker.py @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + from builtins import next import argparse import collections @@ -58,10 +62,10 @@ _group.add_argument( keepdocker_parser.add_argument( 'image', nargs='?', - help="Docker image to upload, as a repository name or hash") + help="Docker image to upload: repo, repo:tag, or hash") keepdocker_parser.add_argument( - 'tag', nargs='?', default='latest', - help="Tag of the Docker image to upload (default 'latest')") + 'tag', nargs='?', + help="Tag of the Docker image to upload (default 'latest'), if image is given as an untagged repo name") # Combine keepdocker options listed above with run_opts options of arv-put. # The options inherited from arv-put include --name, --project-uuid, @@ -354,6 +358,16 @@ def main(arguments=None, stdout=sys.stdout): raise sys.exit(0) + if ':' in args.image: + if args.tag is not None: + logger.error( + "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) + elif args.tag is None: + args.tag = 'latest' + # Pull the image if requested, unless the image is specified as a hash # that we already have. if args.pull and not find_image_hashes(args.image):