From f1caa45c2b62f65744ed2657cbc06661fceb7347 Mon Sep 17 00:00:00 2001 From: Andrey Arapov Date: Fri, 26 Jan 2018 14:33:00 +0100 Subject: [PATCH] Bind metadata listener address to dhcp.METADATA_DEFAULT_IP --- neutron/agent/dhcp/agent.py | 4 ++-- neutron/agent/metadata/driver.py | 8 +++++--- neutron/tests/unit/agent/metadata/test_driver.py | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/neutron/agent/dhcp/agent.py b/neutron/agent/dhcp/agent.py index b6c090fee..dc97f384a 100644 --- a/neutron/agent/dhcp/agent.py +++ b/neutron/agent/dhcp/agent.py @@ -514,8 +514,8 @@ class DhcpAgent(manager.Manager): router_ports[0].device_id) metadata_driver.MetadataDriver.spawn_monitored_metadata_proxy( - self._process_monitor, network.namespace, dhcp.METADATA_PORT, - self.conf, **kwargs) + self._process_monitor, network.namespace, dhcp.METADATA_DEFAULT_IP, + dhcp.METADATA_PORT, self.conf, **kwargs) def disable_isolated_metadata_proxy(self, network): if (self.conf.enable_metadata_network and diff --git a/neutron/agent/metadata/driver.py b/neutron/agent/metadata/driver.py index 5422c9f52..66f366793 100644 --- a/neutron/agent/metadata/driver.py +++ b/neutron/agent/metadata/driver.py @@ -61,7 +61,7 @@ defaults timeout http-keep-alive 30s listen listener - bind 0.0.0.0:%(port)s + bind %(host)s:%(port)s server metadata %(unix_socket_path)s http-request add-header X-Neutron-%(res_type)s-ID %(res_id)s """ @@ -72,13 +72,14 @@ class InvalidUserOrGroupException(Exception): class HaproxyConfigurator(object): - def __init__(self, network_id, router_id, unix_socket_path, port, user, - group, state_path, pid_file): + def __init__(self, network_id, router_id, unix_socket_path, host, port, + user, group, state_path, pid_file): self.network_id = network_id self.router_id = router_id if network_id is None and router_id is None: raise exceptions.NetworkIdOrRouterIdRequiredError() + self.host = host self.port = port self.user = user self.group = group @@ -116,6 +117,7 @@ class HaproxyConfigurator(object): _("Invalid group/gid: '%s'") % self.group) cfg_info = { + 'host': self.host, 'port': self.port, 'unix_socket_path': self.unix_socket_path, 'user': username, diff --git a/neutron/tests/unit/agent/metadata/test_driver.py b/neutron/tests/unit/agent/metadata/test_driver.py index 216497336..225a0d753 100644 --- a/neutron/tests/unit/agent/metadata/test_driver.py +++ b/neutron/tests/unit/agent/metadata/test_driver.py @@ -73,6 +73,7 @@ class TestMetadataDriverProcess(base.BaseTestCase): EUNAME = 'neutron' EGNAME = 'neutron' + METADATA_DEFAULT_IP = '169.254.169.254' METADATA_PORT = 8080 METADATA_SOCKET = '/socket/path' PIDFILE = 'pidfile' @@ -153,6 +154,7 @@ class TestMetadataDriverProcess(base.BaseTestCase): agent.metadata_driver.spawn_monitored_metadata_proxy( agent.process_monitor, router_ns, + self.METADATA_DEFAULT_IP, self.METADATA_PORT, agent.conf, router_id=router_id) @@ -166,6 +168,7 @@ class TestMetadataDriverProcess(base.BaseTestCase): cfg_contents = metadata_driver._HAPROXY_CONFIG_TEMPLATE % { 'user': self.EUNAME, 'group': self.EGNAME, + 'host': self.METADATA_DEFAULT_IP, 'port': self.METADATA_PORT, 'unix_socket_path': self.METADATA_SOCKET, 'res_type': 'Router', -- 2.14.1