mirror of
https://github.com/haproxy/haproxy.git
synced 2026-06-11 01:41:49 -04:00
Some checks failed
Contrib / admin/halog/ (push) Has been cancelled
Contrib / dev/flags/ (push) Has been cancelled
Contrib / dev/haring/ (push) Has been cancelled
Contrib / dev/hpack/ (push) Has been cancelled
Contrib / dev/poll/ (push) Has been cancelled
FreeBSD / clang (push) Has been cancelled
VTest / Generate Build Matrix (push) Has been cancelled
Windows / Windows, gcc, all features (push) Has been cancelled
VTest / (push) Has been cancelled
This script is quite basic but it should validate the external healthchecks are working well.
77 lines
2.1 KiB
Text
77 lines
2.1 KiB
Text
varnishtest "Health-checks: some external check tests"
|
|
feature ignore_unknown_macro
|
|
#REGTEST_TYPE=slow
|
|
|
|
server s1 {
|
|
rxreq
|
|
expect req.method == GET
|
|
expect req.url == /health
|
|
expect req.proto == HTTP/1.1
|
|
txresp
|
|
} -start
|
|
|
|
syslog S1 -level notice {
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be[0-9]/srv succeeded, reason: External check passed, code: 0"
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be[0-9]/srv succeeded, reason: External check passed, code: 0"
|
|
} -start
|
|
|
|
syslog S2 -level notice {
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be[0-9]/srv succeeded.*code: 200"
|
|
} -start
|
|
|
|
haproxy h1 -conf {
|
|
global
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
external-check
|
|
insecure-fork-wanted
|
|
|
|
healthcheck http-health
|
|
type httpchk
|
|
http-check send meth GET uri /health ver HTTP/1.1
|
|
|
|
defaults
|
|
mode http
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
option log-health-checks
|
|
|
|
backend be1
|
|
log ${S1_addr}:${S1_port} len 2048 local0
|
|
option external-check
|
|
external-check command /bin/true
|
|
server srv ${h1_li1_addr}:${h1_li1_port} check inter 100ms rise 1 fall 1
|
|
|
|
defaults
|
|
mode http
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
option external-check
|
|
external-check command /bin/true
|
|
option log-health-checks
|
|
|
|
backend be2
|
|
log ${S1_addr}:${S1_port} len 2048 local0
|
|
server srv ${h1_li1_addr}:${h1_li1_port} check inter 100ms rise 1 fall 1
|
|
|
|
backend be3
|
|
log ${S2_addr}:${S2_port} len 2048 local0
|
|
option external-check
|
|
external-check command /bin/true
|
|
server srv ${s1_addr}:${s1_port} check inter 100ms rise 1 fall 1 healthcheck http-health
|
|
|
|
listen li1
|
|
mode http
|
|
bind "fd@${li1}"
|
|
http-request return status 200
|
|
|
|
} -start
|
|
|
|
syslog S1 -wait
|
|
syslog S2 -wait
|