commit 8483011a51c94439de53bfbe4c161aee41adc65f
parent 0b16c2ada2b881e9f9ba52635cc4b87e8626a31c
Author: Ben Kelly <ben@benjii.net>
Date: Tue, 30 Aug 2016 11:54:49 +0300
keepalived: suppress reloads when config md5 has no change
Signed-off-by: Ben Kelly <ben@benjii.net>
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/net/keepalived/files/keepalived.init b/net/keepalived/files/keepalived.init
@@ -366,9 +366,20 @@ service_running() {
pgrep -x /usr/sbin/keepalived &> /dev/null
}
+conf_md5() {
+ echo "$(md5sum $KEEPALIVED_CONF | awk '{print $1}')"
+}
+
reload_service() {
+ local cur_md5="$(conf_md5)"
running && {
process_config
+
+ # Return without performing the reload if config
+ # file md5sum has not changed
+ local new_md5="$(conf_md5)"
+ [ "$new_md5" == "$cur_md5" ] && return 0;
+
# SIGHUP is used by keepalived to do init.d reload
# Get the oldest process (assumption is that it's the parent process)
PID=$(pgrep -o /usr/sbin/keepalived)