From 61d9b164814b725ae3c87f2d28c1cb75f205c4f8 Mon Sep 17 00:00:00 2001 From: Md Nadeem Date: Wed, 25 Nov 2015 15:50:14 +0900 Subject: [PATCH] Added pool list support for v1 This patch will add pool list support in zaqar client v1. Change-Id: I6da0c391706dd3cecb86e3f1f6f304d481bfa976 --- setup.cfg | 1 + zaqarclient/queues/v1/cli.py | 42 ++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/setup.cfg b/setup.cfg index 5ddb4933..18340005 100644 --- a/setup.cfg +++ b/setup.cfg @@ -60,6 +60,7 @@ openstack.messaging.v1 = pool_show = zaqarclient.queues.v1.cli:ShowPool pool_update = zaqarclient.queues.v1.cli:UpdatePool pool_delete = zaqarclient.queues.v1.cli:DeletePool + pool_list = zaqarclient.queues.v1.cli:ListPools messaging_flavor_delete = zaqarclient.queues.v1.cli:DeleteFlavor openstack.cli.extension = diff --git a/zaqarclient/queues/v1/cli.py b/zaqarclient/queues/v1/cli.py index 8e7fd5a9..d3095c29 100644 --- a/zaqarclient/queues/v1/cli.py +++ b/zaqarclient/queues/v1/cli.py @@ -359,6 +359,48 @@ class DeletePool(command.Command): client.pool(pool_name, auto_create=False).delete() +class ListPools(lister.Lister): + """List available Pools""" + + log = logging.getLogger(__name__ + ".ListPools") + + def get_parser(self, prog_name): + parser = super(ListPools, self).get_parser(prog_name) + parser.add_argument( + "--marker", + metavar="", + help="Pool's paging marker") + parser.add_argument( + "--limit", + metavar="", + help="Page size limit") + parser.add_argument( + "--detailed", + type=bool, + metavar="", + help="Detailed output") + + return parser + + def take_action(self, parsed_args): + client = _get_client(self, parsed_args) + + kwargs = {} + columns = ["Name", "Weight", "URI", "Group"] + if parsed_args.marker is not None: + kwargs["marker"] = parsed_args.marker + if parsed_args.limit is not None: + kwargs["limit"] = parsed_args.limit + if parsed_args.detailed is not None and parsed_args.detailed: + kwargs["detailed"] = parsed_args.detailed + columns.append("Options") + + data = client.pools(**kwargs) + columns = tuple(columns) + return (columns, + (utils.get_item_properties(s, columns) for s in data)) + + class DeleteFlavor(command.Command): """Delete a flavor"""