Merge "Fix multiple vips for external endpoints"

This commit is contained in:
Jenkins 2017-07-26 22:13:23 +00:00 committed by Gerrit Code Review
commit bae06e2403
2 changed files with 8 additions and 29 deletions

View File

@ -497,12 +497,12 @@ class APIConfigurationAdapter(ConfigurationAdapter):
'svc1': {
'admin': 9001,
'public': 9001,
'internal': 9001,
'int': 9001,
},
'svc2': {
'admin': 9002,
'public': 9002,
'internal': 9002,
'int': 9002,
},
}
:param service_name: Name of service being deployed
@ -728,17 +728,14 @@ class APIConfigurationAdapter(ConfigurationAdapter):
"""
info = {}
# Bug #1640393. Return self.local_address if vip is undefined, None or
# an empty string.
ip = getattr(self, 'vip', None) or self.local_address
proto = 'https' if self.apache_enabled else 'http'
if self.port_map:
for service in self.port_map.keys():
key = service.replace('-', '_')
info[key] = {
'proto': proto,
'ip': ip,
'port': self.port_map[service]['admin']}
'ip': os_ip.resolve_address(os_ip.ADMIN),
'port': self.port_map[service][os_ip.ADMIN]}
info[key]['url'] = '{proto}://{ip}:{port}'.format(**info[key])
return info

View File

@ -459,18 +459,8 @@ class TestAPIConfigurationAdapter(unittest.TestCase):
self.assertEqual(c.service_name, 'svc1')
def test_external_endpoints(self):
test_config = {
'prefer-ipv6': False,
'vip': None,
}
with mock.patch.object(adapters.hookenv, 'config',
new=lambda: test_config), \
mock.patch.object(adapters.ch_utils, 'get_host_ip',
return_value='10.0.0.10'), \
mock.patch.object(adapters.APIConfigurationAdapter,
'get_network_addresses'), \
mock.patch.object(adapters.hookenv, 'local_unit',
return_value='my-unit/0'):
with mock.patch.object(adapters.os_ip, 'resolve_address',
return_value="10.0.0.10"):
c = adapters.APIConfigurationAdapter(port_map=self.api_ports)
self.assertEqual(
c.external_endpoints, {
@ -553,12 +543,6 @@ class TestAPIConfigurationAdapter(unittest.TestCase):
def local_address(self):
return '10.0.0.10'
test_config = {
'prefer-ipv6': False,
'vip': '10.10.10.10',
'private-address': 'privaddr',
}
def _determine_apache_port(port, singlenode_mode=None):
return port - 10
@ -567,10 +551,8 @@ class TestAPIConfigurationAdapter(unittest.TestCase):
mock.patch.object(adapters.APIConfigurationAdapter,
'determine_service_port',
side_effect=_determine_apache_port), \
mock.patch.object(adapters.APIConfigurationAdapter,
'get_network_addresses'), \
mock.patch.object(adapters.hookenv, 'config',
new=lambda: test_config):
mock.patch.object(adapters.os_ip, 'resolve_address',
return_value="10.10.10.10"):
with mock.patch.object(adapters.APIConfigurationAdapter,
'apache_enabled',
new=False):