From 1f95e1e3e4c71d5add653788c86c20f8a772d238 Mon Sep 17 00:00:00 2001 From: caishan Date: Wed, 14 Mar 2018 08:34:55 -0700 Subject: [PATCH] Add image delete to zunclient OSC Change-Id: Ic51e865c628e09447d2f1e1dfde407b0a7eee97e --- setup.cfg | 1 + zunclient/osc/v1/images.py | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/setup.cfg b/setup.cfg index 43715778..8c5bf07b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -56,6 +56,7 @@ openstack.container.v1 = appcontainer_stats = zunclient.osc.v1.containers:StatsContainer appcontainer_commit = zunclient.osc.v1.containers:CommitContainer appcontainer_add_security_group = zunclient.osc.v1.containers:AddSecurityGroup + appcontainer_image_delete = zunclient.osc.v1.images:DeleteImage appcontainer_image_list = zunclient.osc.v1.images:ListImage appcontainer_image_pull = zunclient.osc.v1.images:PullImage appcontainer_host_list = zunclient.osc.v1.hosts:ListHost diff --git a/zunclient/osc/v1/images.py b/zunclient/osc/v1/images.py index 94bb2415..f707af4f 100644 --- a/zunclient/osc/v1/images.py +++ b/zunclient/osc/v1/images.py @@ -147,3 +147,28 @@ class ShowImage(command.ShowOne): image = client.images.get(**opts) columns = _image_columns(image) return columns, utils.get_item_properties(image, columns) + + +class DeleteImage(command.Command): + """Delete specified image""" + + log = logging.getlogger(__name__ + ".DeleteImage") + + def get_parser(self, prog_name): + parser = super(DeleteImage, self).get_parser(prog_name) + parser.add_argument( + 'uuid', + metavar='', + help='UUID of image to describe') + return parser + + def take_action(self, parsed_args): + client = _get_client(self, parsed_args) + img_id = parsed_args.uuid + try: + client.images.delete(img_id) + print(_('Request to delete image %s has been accepted.') + % img_id) + except Exception as e: + print("Delete for image %(image)s failed: %(e)s" % + {'image': img_id, 'e': e})