File 0001-Write-vrrp_script-before-re-starting-keepalived.patch of Package openstack-neutron

From 9ee58550e0db2b96eef982621a6a3715a285fb6c Mon Sep 17 00:00:00 2001
From: Ihar Hrachyshka <ihrachys@redhat.com>
Date: Mon, 20 Mar 2017 20:36:29 +0000
Subject: [PATCH] Write vrrp_script before (re)starting keepalived

Otherwise if keepalived decides to trigger the script before we write it
out, or when we fail to generate the script, then the router may become
broken.

Closes-Bug: 1674780
Change-Id: I2cea3159fd84c40506254fbd688cb1d745c9bf1c
---
 neutron/agent/linux/keepalived.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: neutron-9.4.2.dev21/neutron/agent/linux/keepalived.py
===================================================================
--- neutron-9.4.2.dev21.orig/neutron/agent/linux/keepalived.py
+++ neutron-9.4.2.dev21/neutron/agent/linux/keepalived.py
@@ -424,6 +424,10 @@ class KeepalivedManager(object):
     def spawn(self):
         config_path = self._output_config_file()
 
+        for key, instance in six.iteritems(self.config.instances):
+            if instance.track_script:
+                instance.track_script.write_check_script()
+
         keepalived_pm = self.get_process()
         vrrp_pm = self._get_vrrp_process(
             self.get_vrrp_pid_file_name(keepalived_pm.get_pid_file_name()))
@@ -433,10 +437,6 @@ class KeepalivedManager(object):
 
         keepalived_pm.enable(reload_cfg=True)
 
-        for key, instance in six.iteritems(self.config.instances):
-            if instance.track_script:
-                instance.track_script.write_check_script()
-
         self.process_monitor.register(uuid=self.resource_id,
                                       service_name=KEEPALIVED_SERVICE_NAME,
                                       monitored_process=keepalived_pm)
openSUSE Build Service is sponsored by