mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-13 23:14:46 +00:00
885f64fb6d
This test uses two sets of tcp-check connect port rules, with one
of the two ports being closed and expects the check to fail for both
backends at different steps. It aims at detecting regressions such as
the one fixed by 7df8ca62
(BUG/MEDIUM: tcp-check: unbreak multiple
connect rules again).
52 lines
1.4 KiB
Plaintext
52 lines
1.4 KiB
Plaintext
varnishtest "tcp-check multiple ports"
|
|
#REGTEST_TYPE=slow
|
|
# This test uses multiple tcp-check connect rules to perform health checking on
|
|
# a target. It relies on port 1 being unbound on the local system.
|
|
feature ignore_unknown_macro
|
|
|
|
syslog S1 -level notice {
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be1 started."
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be1/srv1 failed.*Connection refused at step 2 of tcp-check.*connect port 1"
|
|
} -start
|
|
|
|
syslog S2 -level notice {
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be2 started."
|
|
recv
|
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be2/srv1 failed.*Connection refused at step 1 of tcp-check.*connect port 1"
|
|
} -start
|
|
|
|
server s1 {
|
|
} -start
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
mode tcp
|
|
timeout connect 200ms
|
|
timeout check 500ms
|
|
timeout server 5s
|
|
timeout client 5s
|
|
default-server check inter 200ms rise 1 fall 1
|
|
|
|
backend be1
|
|
log ${S1_addr}:${S1_port} len 2048 local0
|
|
option tcp-check
|
|
option log-health-checks
|
|
tcp-check connect port ${s1_port}
|
|
tcp-check connect port 1
|
|
server srv1 ${s1_addr}:${s1_port}
|
|
|
|
backend be2
|
|
log ${S2_addr}:${S2_port} len 2048 local0
|
|
option tcp-check
|
|
option log-health-checks
|
|
tcp-check connect port 1
|
|
tcp-check connect port ${s1_port}
|
|
server srv1 ${s1_addr}:${s1_port}
|
|
} -start
|
|
|
|
syslog S1 -wait
|
|
syslog S2 -wait
|