From nobody Fri Dec 19 20:36:17 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1563371469; cv=none; d=zoho.com; s=zohoarc; b=WPzzWnhGpvJc4GU+KPOppQcC6BlGsNErreW4orhRZ8jm8kpfYkq2oMnu7LvYJBLCdBxSmkWPQEGlQELh79x2hhXZMSzusVqsaOf+Yz26NfCwMRqfav5gM/FPehkjakCfIxYwLTkzEPzH9zyhGP/3VhkjI/6Ojhz4XBblWvL+0fw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1563371469; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=RY5kzTg6DS+TsypLng1yMNTAvdtFoi9+3KoQsywl5DE=; b=XU/VW+jLgZ5a5NHaA99RtssDuQsIpKW10+hxQqPp5GDDHM3D8AhxVRRrSpU4oOzszhdIpB4MHuEmk1dIQt8ZL1r8rd3oEAwEaJ78CcCUiqOFkqFN6dgaII5Th8B0rDDzG3oPVRYqOEXn7fwz1Eq9KDH88poki1S9cnuLSXUqrBM= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1563371469230632.3353844694448; Wed, 17 Jul 2019 06:51:09 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EA913A3B48; Wed, 17 Jul 2019 13:51:06 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7233E646DC; Wed, 17 Jul 2019 13:51:05 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 1EE9F1972E; Wed, 17 Jul 2019 13:51:05 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x6HDp3sH026052 for ; Wed, 17 Jul 2019 09:51:03 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3C36F18FDD; Wed, 17 Jul 2019 13:51:03 +0000 (UTC) Received: from kinshicho.brq.redhat.com (unknown [10.43.2.73]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DB4276402F for ; Wed, 17 Jul 2019 13:51:01 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 17 Jul 2019 15:49:27 +0200 Message-Id: <20190717134929.10540-19-abologna@redhat.com> In-Reply-To: <20190717134929.10540-1-abologna@redhat.com> References: <20190717134929.10540-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [jenkins-ci PATCH v2 18/20] quayadmin: Add show-tag command X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 17 Jul 2019 13:51:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" The implementation is a bit awkward and surprising because the GET /api/v1/repository/{repository}/tag/{tag}/images API does not report the information we're looking form in an easy to consume form. It also suffers from the same limitations as the list-tags command. Signed-off-by: Andrea Bolognani Reviewed-by: Daniel P. Berrang=C3=A9 --- guests/quayadmin | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/guests/quayadmin b/guests/quayadmin index aa897f9..f99ac03 100755 --- a/guests/quayadmin +++ b/guests/quayadmin @@ -200,6 +200,43 @@ def run_list_tags(config, args): print ("{}".format(tag["name"])) =20 =20 +def run_show_tag(config, args): + endpoint =3D "/repository/{}/{}/tag".format(args.namespace, args.repo) + params =3D { + "onlyActiveTags": True, + "limit": 100, + } + + res =3D get(config, endpoint, params=3Dparams, debug=3Dargs.debug) + + if has_error(args.quiet, res, 200, + "Cannot list tags for repository {}/{}" + .format(args.namespace, args.repo)): + return 1 + + info =3D res.json() + + image =3D None + for tag in info["tags"]: + if tag["name"] =3D=3D args.tag: + image =3D tag["image_id"] + break + + if image is None: + print("Cannot query tag {} for repository {}/{}: Not Found (404)" + .format(args.tag, args.namespace, args.repo)) + return 1 + + if args.quiet: + return 0 + + print("tag:") + print(" namespace: {}".format(args.namespace)) + print(" repo: {}".format(args.repo)) + print(" id: {}".format(args.tag)) + print(" image: {}".format(image)) + + def run_list_builds(config, args): endpoint =3D "/repository/{}/{}/build".format(args.namespace, args.rep= o) =20 @@ -329,6 +366,10 @@ def add_arg_build(parser): parser.add_argument("build", help=3D"Build ID") =20 =20 +def add_arg_tag(parser): + parser.add_argument("tag", help=3D"Tag ID") + + def build_parser_list_repos(subparser): parser =3D subparser.add_parser("list-repos", help=3D"List container r= epositories") =20 @@ -374,6 +415,16 @@ def build_parser_list_tags(subparser): add_arg_repo(parser) =20 =20 +def build_parser_show_tag(subparser): + parser =3D subparser.add_parser("show-tag", help=3D"Show tag informati= on") + + parser.set_defaults(func=3Drun_show_tag) + + add_arg_namespace(parser) + add_arg_repo(parser) + add_arg_tag(parser) + + def build_parser_list_builds(subparser): parser =3D subparser.add_parser("list-builds", help=3D"List repository= builds") =20 @@ -440,6 +491,7 @@ def build_parser(): build_parser_delete_repo(subparser) =20 build_parser_list_tags(subparser) + build_parser_show_tag(subparser) =20 build_parser_list_builds(subparser) build_parser_show_build(subparser) --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list