diff options
author | liyingjun <liyingjun1988@gmail.com> | 2014-06-25 04:47:25 +0800 |
---|---|---|
committer | liyingjun <liyingjun1988@gmail.com> | 2014-06-27 03:29:27 +0800 |
commit | ae04b4b09982bf98ed963fb541da5f3bf73b9a17 (patch) | |
tree | 9b94209c6e79bb2ed1302fc6e56286377c7057fd | |
parent | 0c4010e7fbc9939905e8647afbe1358c384dc658 (diff) | |
download | python-cinderclient-ae04b4b09982bf98ed963fb541da5f3bf73b9a17.tar.gz |
Add tenant uuid when running cinder list --all-tenants
Add the tenant uuid to the output when running cinder list --all-tenants,
since this is an admin command any way, it would help to list the tenant
UUID so we do not have to run cinder show to see the tenant uuid when we
have further queries to run.
Change-Id: I661789e957fa00947c4d5595f7e0515c27963735
Closes-bug: 1333257
-rw-r--r-- | cinderclient/tests/v1/test_shell.py | 10 | ||||
-rw-r--r-- | cinderclient/v1/shell.py | 12 | ||||
-rw-r--r-- | cinderclient/v2/shell.py | 12 |
3 files changed, 28 insertions, 6 deletions
diff --git a/cinderclient/tests/v1/test_shell.py b/cinderclient/tests/v1/test_shell.py index 0b9cbe7..8b7a6ea 100644 --- a/cinderclient/tests/v1/test_shell.py +++ b/cinderclient/tests/v1/test_shell.py @@ -95,6 +95,16 @@ class ShellTest(utils.TestCase): args = Arguments(metadata=input[0]) self.assertEqual(shell_v1._extract_metadata(args), input[1]) + def test_translate_volume_keys(self): + cs = fakes.FakeClient() + v = cs.volumes.list()[0] + setattr(v, 'os-vol-tenant-attr:tenant_id', 'fake_tenant') + setattr(v, '_info', {'attachments': [{'server_id': 1234}], + 'id': 1234, 'name': 'sample-volume', + 'os-vol-tenant-attr:tenant_id': 'fake_tenant'}) + shell_v1._translate_volume_keys([v]) + self.assertEqual(v.tenant_id, 'fake_tenant') + @httpretty.activate def test_list(self): self.register_keystone_auth_fixture() diff --git a/cinderclient/v1/shell.py b/cinderclient/v1/shell.py index 47e0a57..fd7c55d 100644 --- a/cinderclient/v1/shell.py +++ b/cinderclient/v1/shell.py @@ -101,7 +101,8 @@ def _translate_keys(collection, convert): def _translate_volume_keys(collection): - convert = [('displayName', 'display_name'), ('volumeType', 'volume_type')] + convert = [('displayName', 'display_name'), ('volumeType', 'volume_type'), + ('os-vol-tenant-attr:tenant_id', 'tenant_id')] _translate_keys(collection, convert) @@ -179,8 +180,13 @@ def do_list(cs, args): for vol in volumes: servers = [s.get('server_id') for s in vol.attachments] setattr(vol, 'attached_to', ','.join(map(str, servers))) - utils.print_list(volumes, ['ID', 'Status', 'Display Name', - 'Size', 'Volume Type', 'Bootable', 'Attached to']) + if all_tenants: + key_list = ['ID', 'Tenant ID', 'Status', 'Display Name', + 'Size', 'Volume Type', 'Bootable', 'Attached to'] + else: + key_list = ['ID', 'Status', 'Display Name', + 'Size', 'Volume Type', 'Bootable', 'Attached to'] + utils.print_list(volumes, key_list) @utils.arg('volume', metavar='<volume>', help='Volume name or ID.') diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py index 4842709..84c140a 100644 --- a/cinderclient/v2/shell.py +++ b/cinderclient/v2/shell.py @@ -97,7 +97,8 @@ def _translate_keys(collection, convert): def _translate_volume_keys(collection): - convert = [('volumeType', 'volume_type')] + convert = [('volumeType', 'volume_type'), + ('os-vol-tenant-attr:tenant_id', 'tenant_id')] _translate_keys(collection, convert) @@ -177,8 +178,13 @@ def do_list(cs, args): servers = [s.get('server_id') for s in vol.attachments] setattr(vol, 'attached_to', ','.join(map(str, servers))) - utils.print_list(volumes, ['ID', 'Status', 'Name', - 'Size', 'Volume Type', 'Bootable', 'Attached to']) + if all_tenants: + key_list = ['ID', 'Tenant ID', 'Status', 'Name', + 'Size', 'Volume Type', 'Bootable', 'Attached to'] + else: + key_list = ['ID', 'Status', 'Name', + 'Size', 'Volume Type', 'Bootable', 'Attached to'] + utils.print_list(volumes, key_list) @utils.arg('volume', |