diff options
| author | Zuul <zuul@review.openstack.org> | 2018-10-12 22:41:43 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2018-10-12 22:41:43 +0000 |
| commit | ac9877de467fad483feb2652a1a02b20b9ebc395 (patch) | |
| tree | be0f0d41432ceaf89324ac61c70d1af2a8020c96 /openstackclient/volume | |
| parent | 5ad925b600e68965f615c1c1cf61eac454717050 (diff) | |
| parent | 9647d43bd5e77c815ac2f08b7de2226a657a66bc (diff) | |
| download | python-openstackclient-ac9877de467fad483feb2652a1a02b20b9ebc395.tar.gz | |
Merge "Add volume backend pool list command"
Diffstat (limited to 'openstackclient/volume')
| -rw-r--r-- | openstackclient/volume/v2/volume_backend.py | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/openstackclient/volume/v2/volume_backend.py b/openstackclient/volume/v2/volume_backend.py index 0dff18c9..c5194d35 100644 --- a/openstackclient/volume/v2/volume_backend.py +++ b/openstackclient/volume/v2/volume_backend.py @@ -12,7 +12,7 @@ # under the License. # -"""Capability action implementations""" +"""Storage backend action implementations""" from osc_lib.command import command from osc_lib import utils @@ -59,3 +59,55 @@ class ShowCapability(command.Lister): (utils.get_dict_properties( s, columns, ) for s in print_data)) + + +class ListPool(command.Lister): + _description = _("List pool command") + + def get_parser(self, prog_name): + parser = super(ListPool, self).get_parser(prog_name) + parser.add_argument( + "--long", + action="store_true", + default=False, + help=_("Show detailed information about pools.") + ) + # TODO(smcginnis): Starting with Cinder microversion 3.33, user is also + # able to pass in --filters with a <key>=<value> pair to filter on. + return parser + + def take_action(self, parsed_args): + volume_client = self.app.client_manager.volume + + if parsed_args.long: + columns = [ + 'name', + 'storage_protocol', + 'thick_provisioning_support', + 'thin_provisioning_support', + 'total_volumes', + 'total_capacity_gb', + 'allocated_capacity_gb', + 'max_over_subscription_ratio', + ] + headers = [ + 'Name', + 'Protocol', + 'Thick', + 'Thin', + 'Volumes', + 'Capacity', + 'Allocated', + 'Max Over Ratio' + ] + else: + columns = [ + 'Name', + ] + headers = columns + + data = volume_client.pools.list(detailed=parsed_args.long) + return (headers, + (utils.get_item_properties( + s, columns, + ) for s in data)) |
