]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
make neutron-ns-metadata-proxy configurable
authorChristian Berendt <berendt@b1-systems.de>
Thu, 18 Jul 2013 11:13:05 +0000 (13:13 +0200)
committerChristian Berendt <berendt@b1-systems.de>
Wed, 24 Jul 2013 05:30:54 +0000 (07:30 +0200)
Introduced a new configuration parameter for DHCP and L3 agent
to be able to set the path of the metadata socket to be used
by neutron-ns-metadata-proxy when started inside the DHCP or L3
agent. Also moved the configuration parameter of the
neutron-ns-metadata-proxy to the CLI parameters.

fixes bug #1202628

Change-Id: I3b1aa72b4e06c00f7fed152f0ee03d52b6bbc279

neutron/agent/dhcp_agent.py
neutron/agent/l3_agent.py
neutron/agent/metadata/namespace_proxy.py
neutron/tests/unit/test_dhcp_agent.py
neutron/tests/unit/test_l3_agent.py

index 38582e166acbc95e0de7bb50a54cd6f1e72d9564..6e9e9853df7c92514d4c73299af2c69446a2d1f7 100644 (file)
@@ -69,6 +69,10 @@ class DhcpAgent(manager.Manager):
                            "enable_isolated_metadata = True")),
         cfg.IntOpt('num_sync_threads', default=4,
                    help=_('Number of threads to use during sync process.')),
+        cfg.StrOpt('metadata_proxy_socket',
+                   default='$state_path/metadata_proxy',
+                   help=_('Location of Metadata Proxy UNIX domain '
+                          'socket')),
     ]
 
     def __init__(self, host=None):
@@ -326,8 +330,10 @@ class DhcpAgent(manager.Manager):
                                         router_ports[0].device_id)
 
         def callback(pid_file):
+            metadata_proxy_socket = cfg.CONF.metadata_proxy_socket
             proxy_cmd = ['neutron-ns-metadata-proxy',
                          '--pid_file=%s' % pid_file,
+                         '--metadata_proxy_socket=%s' % metadata_proxy_socket,
                          neutron_lookup_param,
                          '--state_path=%s' % self.conf.state_path,
                          '--metadata_port=%d' % METADATA_PORT]
index e0907e3dc3fad08ab50fbb714c551a3c89a1ab57..729a38494fdb77d3ab5c9389d1b25dafb7069c61 100644 (file)
@@ -181,6 +181,10 @@ class L3NATAgent(manager.Manager):
                           "by the agents.")),
         cfg.BoolOpt('enable_metadata_proxy', default=True,
                     help=_("Allow running metadata proxy.")),
+        cfg.StrOpt('metadata_proxy_socket',
+                   default='$state_path/metadata_proxy',
+                   help=_('Location of Metadata Proxy UNIX domain '
+                          'socket')),
     ]
 
     def __init__(self, host, conf=None):
@@ -303,8 +307,10 @@ class L3NATAgent(manager.Manager):
 
     def _spawn_metadata_proxy(self, router_info):
         def callback(pid_file):
+            metadata_proxy_socket = cfg.CONF.metadata_proxy_socket
             proxy_cmd = ['neutron-ns-metadata-proxy',
                          '--pid_file=%s' % pid_file,
+                         '--metadata_proxy_socket=%s' % metadata_proxy_socket,
                          '--router_id=%s' % router_info.router_id,
                          '--state_path=%s' % self.conf.state_path,
                          '--metadata_port=%s' % self.conf.metadata_port]
index bca06b400aab54cef2caa155ba042f24d0ace705..d354434485074bbc5646b4537c1b717720254a08 100644 (file)
@@ -31,13 +31,6 @@ from neutron.common import utils
 from neutron.openstack.common import log as logging
 from neutron import wsgi
 
-proxy_socket = cfg.StrOpt('metadata_proxy_socket',
-                          default='$state_path/metadata_proxy',
-                          help=_('Location of Metadata Proxy UNIX domain '
-                                 'socket'))
-
-cfg.CONF.register_opt(proxy_socket)
-
 LOG = logging.getLogger(__name__)
 
 
@@ -157,6 +150,10 @@ def main():
                    default=9697,
                    help=_("TCP Port to listen for metadata server "
                           "requests.")),
+        cfg.StrOpt('metadata_proxy_socket',
+                   default='$state_path/metadata_proxy',
+                   help=_('Location of Metadata Proxy UNIX domain '
+                          'socket'))
     ]
 
     cfg.CONF.register_cli_opts(opts)
index 0205bcfa0faac4fd381a5b335e3d9179e154dbaf..ee6ee8c75551d6570d0698d929fea606958cd286 100644 (file)
@@ -625,6 +625,7 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
                     mock.call().netns.execute([
                         'neutron-ns-metadata-proxy',
                         mock.ANY,
+                        mock.ANY,
                         '--router_id=forzanapoli',
                         mock.ANY,
                         mock.ANY,
index d2da8979d9b782f38dbbd58981c272212bfadaec..275d32c5fb2a71b1cc1f39542cbcf415543feed8 100644 (file)
@@ -692,6 +692,7 @@ class TestL3AgentEventHandler(base.BaseTestCase):
                     mock.call().netns.execute([
                         'neutron-ns-metadata-proxy',
                         mock.ANY,
+                        mock.ANY,
                         '--router_id=%s' % router_id,
                         mock.ANY,
                         '--metadata_port=%s' % metadata_port,