commit 42df864217042cd2be03fde25ba6c235835d4835
Author: Vladimir Kuklin <email address hidden>
Date: Mon Jun 1 17:57:41 2015 +0300
Make HAProxy check of swift proxy backends via management VIP
W/o this fix, when the management interface on the controller node
running a Swift proxy is down, HAProxy would fail to update
its backend status at the storage network.
This is a problem as we want swift backends not able to connect the
swift endpoint via the management VIP to be marked down. Othewise,
responces time for any requested swift commands would be drastically
longer. Simple httpcheck option cannot resolve this because the swift
healthcheck reports OK, if conntacted via the storage network.
In order to fix this, simple healthcheck script is implemented.
This script is running as HTTP xinetid service at TCP port 49001 and
is accessible only from the localhost, 240.0.0.2, and storage plus
management networks. The service verifies the node under check for the:
a) management VIP is pingable via ICMP (by 3 packets)
b) Swift endpoint is reachable by TCP-connect via the local storage address
within 5 seconds connection timeout
c) Swift healthcheck report via the local storage address endpoint is OK
Reports an HTTP 200 OK, if all of the results are OK.
Otherwise, it would report an HTTP 503 Error.
Expected Swift node control plane failover time will be around 30 seconds.
Swift data plane is not affected.
DocImpact: Reference architecture, swift failover.
Reviewed: https:/ /review. openstack. org/186815 /git.openstack. org/cgit/ stackforge/ fuel-library/ commit/ ?id=42df8642170 42cd2be03fde25b a6c235835d4835
Committed: https:/
Submitter: Jenkins
Branch: master
commit 42df864217042cd 2be03fde25ba6c2 35835d4835
Author: Vladimir Kuklin <email address hidden>
Date: Mon Jun 1 17:57:41 2015 +0300
Make HAProxy check of swift proxy backends via management VIP
W/o this fix, when the management interface on the controller node
running a Swift proxy is down, HAProxy would fail to update
its backend status at the storage network.
This is a problem as we want swift backends not able to connect the
swift endpoint via the management VIP to be marked down. Othewise,
responces time for any requested swift commands would be drastically
longer. Simple httpcheck option cannot resolve this because the swift
healthcheck reports OK, if conntacted via the storage network.
In order to fix this, simple healthcheck script is implemented.
This script is running as HTTP xinetid service at TCP port 49001 and
is accessible only from the localhost, 240.0.0.2, and storage plus
management networks. The service verifies the node under check for the:
a) management VIP is pingable via ICMP (by 3 packets)
b) Swift endpoint is reachable by TCP-connect via the local storage address
within 5 seconds connection timeout
c) Swift healthcheck report via the local storage address endpoint is OK
Reports an HTTP 200 OK, if all of the results are OK.
Otherwise, it would report an HTTP 503 Error.
Expected Swift node control plane failover time will be around 30 seconds.
Swift data plane is not affected.
DocImpact: Reference architecture, swift failover.
Closes-bug: #1459772
Related-bug: #1460623
Change-Id: I55a35b45257763 a20f33bd47cb5c5 7de53558ccf
Signed-off-by: Bogdan Dobrelya <email address hidden>