]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Handle SIGHUP in dhcp and l3 agents
authorElena Ezhova <eezhova@mirantis.com>
Tue, 7 Apr 2015 11:55:50 +0000 (14:55 +0300)
committerElena Ezhova <eezhova@mirantis.com>
Thu, 9 Apr 2015 12:29:31 +0000 (15:29 +0300)
All launchers implemented in common.service require each service to
implement reset method because it is called in case a process
receives a SIGHUP.

This change adds the reset method to neutron.service.Service class
which is used to start dhcp and l3 agents.

Now dhcp and l3 agents don't die on receiving SIGHUP and support
reloading policy_path and logging options in config.

Partial-Bug: #1276694
Change-Id: I96010e44928a665bea546865b2c81bde4ed0adf2

neutron/service.py

index 448251c383a7ee3353f90c573958a89217305933..cc76c0ba97b99495f293c1273fc153ac888344e8 100644 (file)
@@ -32,6 +32,7 @@ from neutron.i18n import _LE, _LI
 from neutron import manager
 from neutron.openstack.common import loopingcall
 from neutron.openstack.common import service as common_service
+from neutron import policy
 from neutron import wsgi
 
 
@@ -286,6 +287,10 @@ class Service(n_rpc.Service):
             except Exception:
                 LOG.exception(_LE("Exception occurs when waiting for timer"))
 
+    def reset(self):
+        config.setup_logging()
+        policy.refresh()
+
     def periodic_tasks(self, raise_on_error=False):
         """Tasks to be run at a periodic interval."""
         ctxt = context.get_admin_context()