From 7f1f43f18c308051d45255c36f3a69f2fbb3485a Mon Sep 17 00:00:00 2001 From: ckji Date: Tue, 11 Apr 2017 15:45:10 +0800 Subject: [PATCH] Fix error 500 when using SOURCE_IP and APP_COOKIE When using session_persistence with SOURCE_IP or APP_COOKIE, the haproxy.cfg is as folllows. --- backend ... ... stick-table ... ... peers _peers --- If amphora-vm's init system is systemd, reloading haproxy can get a failed result. Systemd script needs to specify -L when chekcing haproxy.cfg. Closes-Bug: #1681623 Change-Id: Ibda50f1faafd8adff4fab7c413a9fee735d46ceb --- .../backends/agent/api_server/templates/systemd.conf.j2 | 2 +- .../backends/agent/api_server/templates/sysvinit.conf.j2 | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/octavia/amphorae/backends/agent/api_server/templates/systemd.conf.j2 b/octavia/amphorae/backends/agent/api_server/templates/systemd.conf.j2 index 3bf89043a2..6790edc32b 100644 --- a/octavia/amphorae/backends/agent/api_server/templates/systemd.conf.j2 +++ b/octavia/amphorae/backends/agent/api_server/templates/systemd.conf.j2 @@ -25,7 +25,7 @@ ExecStartPre=-/bin/awk '{system("/sbin/ip netns exec {{ amphora_nsname }} ifup " {%- endif %} # ExecStart=/sbin/ip netns exec {{ amphora_nsname }} /usr/sbin/haproxy-systemd-wrapper -f {{ haproxy_cfg }} -f {{ haproxy_user_group_cfg }} -p {{ haproxy_pid }} -L {{ peer_name }} $EXTRAOPTS -ExecReload=/usr/sbin/haproxy -c -f {{ haproxy_cfg }} -f {{ haproxy_user_group_cfg }} +ExecReload=/usr/sbin/haproxy -c -f {{ haproxy_cfg }} -f {{ haproxy_user_group_cfg }} -L {{ peer_name }} ExecReload=/bin/kill -USR2 $MAINPID KillMode=mixed Restart=always diff --git a/octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2 b/octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2 index d0ce69b7df..4aa16b5142 100644 --- a/octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2 +++ b/octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2 @@ -30,6 +30,7 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin PIDFILE={{ haproxy_pid }} CONFIG={{ haproxy_cfg }} +PEER_NAME={{ peer_name }} HAPROXY={{ haproxy_cmd }} USER_GROUP_CONF_PATH={{ haproxy_user_group_cfg }} @@ -68,7 +69,7 @@ haproxy_start() {%- endif %} start-stop-daemon --start --pidfile "$PIDFILE" \ - --exec $HAPROXY -- -f "$CONFIG" -f "$USER_GROUP_CONF_PATH" -D -p "$PIDFILE" \ + --exec $HAPROXY -- -f "$CONFIG" -f "$USER_GROUP_CONF_PATH" -L "$PEER_NAME" -D -p "$PIDFILE" \ $EXTRAOPTS || return 2 return 0 } @@ -88,7 +89,7 @@ haproxy_stop() haproxy_reload() { - $HAPROXY -f "$CONFIG" -f "$USER_GROUP_CONF_PATH" -p $PIDFILE -D $EXTRAOPTS -sf $(cat $PIDFILE) \ + $HAPROXY -f "$CONFIG" -f "$USER_GROUP_CONF_PATH" -L "$PEER_NAME" -p $PIDFILE -D $EXTRAOPTS -sf $(cat $PIDFILE) \ || return 2 return 0 } @@ -97,7 +98,7 @@ haproxy_checkconf() { rcode=0 - $HAPROXY -c -f "$CONFIG" -f "$USER_GROUP_CONF_PATH" + $HAPROXY -c -f "$CONFIG" -f "$USER_GROUP_CONF_PATH" -L "$PEER_NAME" if [ $? -ne 0 ]; then rcode=1 fi