diff options
author | Zuul <zuul@review.opendev.org> | 2022-05-08 00:39:06 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-05-08 00:39:06 +0000 |
commit | 3d0782707bfd94f0a310b09c6794a7bd9b2bf48b (patch) | |
tree | 087b6207602faca286699daca25b7381387569ed /trove | |
parent | 4741b57c09852d8ca413f8ff5ba73f763636db1f (diff) | |
parent | 0f666fb95f1909932fe635d8717e7ff66d7f7b44 (diff) | |
download | trove-3d0782707bfd94f0a310b09c6794a7bd9b2bf48b.tar.gz |
Merge "instance model: fix extraction of ip addresses from instance record"
Diffstat (limited to 'trove')
-rw-r--r-- | trove/instance/models.py | 18 | ||||
-rw-r--r-- | trove/tests/unittests/instance/test_instance_models.py | 13 |
2 files changed, 15 insertions, 16 deletions
diff --git a/trove/instance/models.py b/trove/instance/models.py index fe424bc8..e09ea77a 100644 --- a/trove/instance/models.py +++ b/trove/instance/models.py @@ -262,18 +262,18 @@ class SimpleInstance(object): def get_visible_ip_addresses(self): """Returns IPs that will be visible to the user.""" - if self.addresses is None: + if not self.addresses: return None IPs = [] - - for addr_info in self.addresses: - if CONF.ip_regex and CONF.black_list_regex: - if not ip_visible(addr_info['address'], CONF.ip_regex, - CONF.black_list_regex): - continue - - IPs.append(addr_info) + for address_list in self.addresses.values(): + for addr_info in address_list: + if CONF.ip_regex and CONF.black_list_regex: + if not ip_visible(addr_info['addr'], CONF.ip_regex, + CONF.black_list_regex): + continue + + IPs.append(addr_info['addr']) return IPs diff --git a/trove/tests/unittests/instance/test_instance_models.py b/trove/tests/unittests/instance/test_instance_models.py index 10befc8c..96ab8726 100644 --- a/trove/tests/unittests/instance/test_instance_models.py +++ b/trove/tests/unittests/instance/test_instance_models.py @@ -50,11 +50,12 @@ class SimpleInstanceTest(trove_testtools.TestCase): ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock(), locality='affinity') self.instance.context = self.context - db_info.addresses = [ - {'type': 'private', 'address': '123.123.123.123'}, - {'type': 'private', 'address': '10.123.123.123'}, - {'type': 'public', 'address': '15.123.123.123'}, - ] + db_info.addresses = { + 'private': [ + {'version': 4, 'addr': '123.123.123.123'}, + {'version': 4, 'addr': '10.123.123.123'}], + 'public': [ + {'version': 4, 'addr': '15.123.123.123'}]} self.orig_ip_regex = CONF.ip_regex self.orig_black_list_regex = CONF.black_list_regex @@ -76,7 +77,6 @@ class SimpleInstanceTest(trove_testtools.TestCase): CONF.ip_regex = '^(15.|123.)' CONF.black_list_regex = '^10.123.123.*' ip = self.instance.get_visible_ip_addresses() - ip = [addr['address'] for addr in ip] self.assertEqual(2, len(ip)) self.assertIn('123.123.123.123', ip) self.assertIn('15.123.123.123', ip) @@ -85,7 +85,6 @@ class SimpleInstanceTest(trove_testtools.TestCase): CONF.ip_regex = '.*' CONF.black_list_regex = '^10.123.123.*' ip = self.instance.get_visible_ip_addresses() - ip = [addr['address'] for addr in ip] self.assertEqual(2, len(ip)) self.assertNotIn('10.123.123.123', ip) |