From 9b2e264ada9f98444d5c7f106dd320dde282946c Mon Sep 17 00:00:00 2001 From: Steve Martinelli Date: Fri, 4 Jul 2014 14:27:16 -0400 Subject: Add support to list volume extensions Since cinderclient has support to list extensions, we should add some of the logic to our list extensions command. Change-Id: I7dc7ca325ea9b82194bba6d875e7b8dc1884d77e Closes-Bug: #1337687 --- openstackclient/common/extension.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'openstackclient/common') diff --git a/openstackclient/common/extension.py b/openstackclient/common/extension.py index a3f94c09..91ee228b 100644 --- a/openstackclient/common/extension.py +++ b/openstackclient/common/extension.py @@ -47,6 +47,11 @@ class ListExtension(lister.Lister): action='store_true', default=False, help='List extensions for the Compute API') + parser.add_argument( + '--volume', + action='store_true', + default=False, + help='List extensions for the Volume API') return parser def take_action(self, parsed_args): @@ -63,7 +68,8 @@ class ListExtension(lister.Lister): # by default we want to show everything, unless the # user specifies one or more of the APIs to show # for now, only identity and compute are supported. - show_all = (not parsed_args.identity and not parsed_args.compute) + show_all = (not parsed_args.identity and not parsed_args.compute + and not parsed_args.volume) if parsed_args.identity or show_all: identity_client = self.app.client_manager.identity @@ -81,6 +87,14 @@ class ListExtension(lister.Lister): message = "Extensions list not supported by Compute API" self.log.warning(message) + if parsed_args.volume or show_all: + volume_client = self.app.client_manager.volume + try: + data += volume_client.list_extensions.show_all() + except Exception: + message = "Extensions list not supported by Volume API" + self.log.warning(message) + return (columns, (utils.get_item_properties( s, columns, -- cgit v1.2.1