summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-02-29 22:47:42 +0000
committerGerrit Code Review <review@openstack.org>2016-02-29 22:47:42 +0000
commit64cde9f7f7f465f96926926eaea57e4072284ce0 (patch)
treebd104c67cb2b8aceccc09b42d2e1ed017c00be51
parente4692518b4e6626814d6ae22f99efedf691d34c5 (diff)
parent20c0421857139a49a466c8a03019bdbfd4957d20 (diff)
downloadpython-cinderclient-64cde9f7f7f465f96926926eaea57e4072284ce0.tar.gz
Merge "snapshot-list now supports filtering by tenant"
-rw-r--r--cinderclient/tests/unit/v2/test_shell.py10
-rw-r--r--cinderclient/v2/shell.py10
2 files changed, 19 insertions, 1 deletions
diff --git a/cinderclient/tests/unit/v2/test_shell.py b/cinderclient/tests/unit/v2/test_shell.py
index deddff0..ba3511e 100644
--- a/cinderclient/tests/unit/v2/test_shell.py
+++ b/cinderclient/tests/unit/v2/test_shell.py
@@ -475,6 +475,16 @@ class ShellTest(utils.TestCase):
mock_print_list.assert_called_once_with(mock.ANY, columns,
sortby_index=None)
+ def test_snapshot_list_filter_tenant_with_all_tenants(self):
+ self.run_command('snapshot-list --all-tenants=1 --tenant 123')
+ self.assert_called('GET',
+ '/snapshots/detail?all_tenants=1&project_id=123')
+
+ def test_snapshot_list_filter_tenant_without_all_tenants(self):
+ self.run_command('snapshot-list --tenant 123')
+ self.assert_called('GET',
+ '/snapshots/detail?all_tenants=1&project_id=123')
+
def test_rename(self):
# basic rename with positional arguments
self.run_command('rename 1234 new-name')
diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py
index fd88d92..a73fd5b 100644
--- a/cinderclient/v2/shell.py
+++ b/cinderclient/v2/shell.py
@@ -665,10 +665,17 @@ def do_image_metadata(cs, args):
'form of <key>[:<asc|desc>]. '
'Valid keys: %s. '
'Default=None.') % ', '.join(base.SORT_KEY_VALUES)))
+@utils.arg('--tenant',
+ type=str,
+ dest='tenant',
+ nargs='?',
+ metavar='<tenant>',
+ help='Display information from single tenant (Admin only).')
@utils.service_type('volumev2')
def do_snapshot_list(cs, args):
"""Lists all snapshots."""
- all_tenants = int(os.environ.get("ALL_TENANTS", args.all_tenants))
+ all_tenants = (1 if args.tenant else
+ int(os.environ.get("ALL_TENANTS", args.all_tenants)))
if args.display_name is not None:
args.name = args.display_name
@@ -678,6 +685,7 @@ def do_snapshot_list(cs, args):
'display_name': args.name,
'status': args.status,
'volume_id': args.volume_id,
+ 'project_id': args.tenant,
}
snapshots = cs.volume_snapshots.list(search_opts=search_opts,