From 4463f36eb0760aa042d6300fb9870e114bc2fbb8 Mon Sep 17 00:00:00 2001 From: Lingxian Kong Date: Wed, 25 Dec 2019 00:29:21 +1300 Subject: Add IP addresses in instance list output Change-Id: I469fe301f438577ee7c897dcddb28cb672e50c6b --- troveclient/osc/v1/database_instances.py | 11 +++++++++-- troveclient/tests/osc/v1/test_database_instances.py | 12 ++++++------ 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) -- cgit v1.2.1