summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2019-12-25 00:29:21 +1300
committerLingxian Kong <anlin.kong@gmail.com>2019-12-25 00:38:50 +1300
commit4463f36eb0760aa042d6300fb9870e114bc2fbb8 (patch)
treecb79266c151b5bf4fe19e429055aea3798cba551
parentcee4ed81d86e2fd3cd6ef7e77d6e4f4263b9cf16 (diff)
downloadpython-troveclient-4463f36eb0760aa042d6300fb9870e114bc2fbb8.tar.gz
Add IP addresses in instance list output
Change-Id: I469fe301f438577ee7c897dcddb28cb672e50c6b
-rw-r--r--troveclient/osc/v1/database_instances.py11
-rw-r--r--troveclient/tests/osc/v1/test_database_instances.py12
2 files changed, 15 insertions, 8 deletions
diff --git a/troveclient/osc/v1/database_instances.py b/troveclient/osc/v1/database_instances.py
index 5962341..d6d2057 100644
--- a/troveclient/osc/v1/database_instances.py
+++ b/troveclient/osc/v1/database_instances.py
@@ -28,15 +28,22 @@ from troveclient import utils as trove_utils
def set_attributes_for_print(instances):
for instance in instances:
setattr(instance, 'flavor_id', instance.flavor['id'])
+
if hasattr(instance, 'volume'):
setattr(instance, 'size', instance.volume['size'])
else:
setattr(instance, 'size', '-')
+
if hasattr(instance, 'datastore'):
if instance.datastore.get('version'):
setattr(instance, 'datastore_version',
instance.datastore['version'])
setattr(instance, 'datastore', instance.datastore['type'])
+
+ if hasattr(instance, 'ip'):
+ addresses = ', '.join(instance.ip)
+ setattr(instance, 'addresses', addresses)
+
return instances
@@ -75,10 +82,10 @@ def set_attributes_for_print_detail(instance):
class ListDatabaseInstances(command.Lister):
_description = _("List database instances")
columns = ['ID', 'Name', 'Datastore', 'Datastore Version', 'Status',
- 'Flavor ID', 'Size', 'Region']
+ 'Addresses', 'Flavor ID', 'Size', 'Region']
admin_columns = [
'ID', 'Name', 'Tenant ID', 'Datastore', 'Datastore Version', 'Status',
- 'Flavor ID', 'Size'
+ 'Addresses', 'Flavor ID', 'Size'
]
def get_parser(self, prog_name):
diff --git a/troveclient/tests/osc/v1/test_database_instances.py b/troveclient/tests/osc/v1/test_database_instances.py
index e621412..dcb2b5f 100644
--- a/troveclient/tests/osc/v1/test_database_instances.py
+++ b/troveclient/tests/osc/v1/test_database_instances.py
@@ -55,10 +55,10 @@ class TestInstanceList(TestInstances):
)
values = [
- ('1234', 'test-member-1', 'mysql', '5.6', 'ACTIVE', '02', 2,
- 'regionOne'),
- ('5678', 'test-member-2', 'mysql', '5.6', 'ACTIVE', '2', 2,
- 'regionOne')
+ ('1234', 'test-member-1', 'mysql', '5.6', 'ACTIVE', '10.0.0.13',
+ '02', 2, 'regionOne'),
+ ('5678', 'test-member-2', 'mysql', '5.6', 'ACTIVE', '10.0.0.14',
+ '2', 2, 'regionOne')
]
self.assertEqual(values, data)
@@ -77,9 +77,9 @@ class TestInstanceList(TestInstances):
expected_instances = [
('1234', 'test-member-1', 'fake_tenant_id', 'mysql', '5.6',
- 'ACTIVE', '02', 2),
+ 'ACTIVE', '10.0.0.13', '02', 2),
('5678', 'test-member-2', 'fake_tenant_id', 'mysql', '5.6',
- 'ACTIVE', '2', 2)
+ 'ACTIVE', '10.0.0.14', '2', 2)
]
self.assertEqual(expected_instances, instances)