diff options
| author | Steve Martinelli <stevemar@ca.ibm.com> | 2014-07-04 14:27:16 -0400 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2014-07-04 14:27:16 -0400 |
| commit | 9b2e264ada9f98444d5c7f106dd320dde282946c (patch) | |
| tree | a61c39c229416e7a9ac0c69aa6b4fb0bc23f0a82 /openstackclient/common/extension.py | |
| parent | 270c7fe96727cedf81e7f4fe6361672c512fc150 (diff) | |
| download | python-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/extension.py')
| -rw-r--r-- | openstackclient/common/extension.py | 16 |
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, |
