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)