summaryrefslogtreecommitdiff
path: root/openstackclient/common
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2014-07-04 14:27:16 -0400
committerSteve Martinelli <stevemar@ca.ibm.com>2014-07-04 14:27:16 -0400
commit9b2e264ada9f98444d5c7f106dd320dde282946c (patch)
treea61c39c229416e7a9ac0c69aa6b4fb0bc23f0a82 /openstackclient/common
parent270c7fe96727cedf81e7f4fe6361672c512fc150 (diff)
downloadpython-openstackclient-9b2e264ada9f98444d5c7f106dd320dde282946c.tar.gz
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
Diffstat (limited to 'openstackclient/common')
-rw-r--r--openstackclient/common/extension.py16
1 files changed, 15 insertions, 1 deletions
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,