Remove keepalived haproxy notification script

This script triggers a restart of HAProxy when any keepalived
instance enters the fault state. This can cause an unnecessary
restart of HAProxy, dropping internal connections, if the external
instance fails.

An alternative approach would be to associate this notification
with the internal instance only, but given the nature of the
existing HAProxy liveness check and the use of systemd across all
deployments this appears to be covered by service restart policy.

Change-Id: Ia1b7a3d53e6a3be064acabb6c6dd2e921c85ca94
This commit is contained in:
Andrew Bonney 2021-03-22 10:06:18 +00:00
parent 1d8e4eeda3
commit a929302c8e
2 changed files with 0 additions and 45 deletions

View File

@ -18,17 +18,6 @@ keepalived_ping_interval: 10
keepalived_ubuntu_src: "native"
keepalived_ping_address: "{{ ansible_default_ipv4['gateway'] | default('127.0.0.1') }}"
keepalived_sync_groups:
haproxy:
instances:
- external
- internal
notify_script: /etc/keepalived/haproxy_notify.sh
##if a src_*_script is defined, it will be uploaded from src_*_script
##on the deploy host to the *_script location. Make sure *_script is
##a location in that case.
src_notify_script: "{{ playbook_dir }}/../scripts/keepalived_haproxy_notifications.sh"
keepalived_global_defs:
- "enable_script_security"
- script_user root

View File

@ -1,34 +0,0 @@
#!/bin/bash
# Copyright 2015, Jean-Philippe Evrard <jean-philippe@evrard.me>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
TYPE=$1
NAME=$2
NOW=`date "+%Y-%m-%d %H:%M:%S"`
NEWSTATE=$3
OLDSTATE=$(cat /var/run/keepalived.state)
echo "$NEWSTATE" > /var/run/keepalived.state
case $NEWSTATE in
"FAULT") echo "$NOW Trying to restart haproxy to get out"\
"of faulty state" >> /var/log/keepalived-notifications.log
/etc/init.d/haproxy stop
/etc/init.d/haproxy start
exit 0
;;
*) echo "$NOW Unknown state" >> /var/log/keepalived-notifications.log
exit 1
;;
esac