haproxy/reg-tests/peers/tls_basic_sync.vtc
Willy Tarreau 5a63e72840 REGTESTS: fix peers-related regtests regarding "show table"
When I added commit 16b282f4b ("MINOR: stick-table: show the shard
number in each entry's "show table" output"), I don't know how but
I managed to mess up my reg tests since everything worked fine,
most likely by running it on a binary built in the wrong branch.
Several reg tests include some table outputs that were upset by the
new "shard=" field. This test added them and revealed at the same
time that entries learned over peers are not properly initialized,
which will be fixed in a future series of fixes.

This commit requires previous fix "BUG/MINOR: peers: always
initialize the stksess shard value" so as not to trip on entries
learned from peers.
2022-11-29 16:34:50 +01:00

159 lines
4.3 KiB
Plaintext

vtest "Basic test for peers protocol over SSL/TLS"
#REQUIRE_OPTIONS=OPENSSL
#REQUIRE_VERSION=2.0
feature ignore_unknown_macro
#REGTEST_TYPE=slow
haproxy h1 -arg "-L A" -conf {
defaults
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
default-server ssl crt ${testdir}/common.pem verify none
bind "fd@${A}" ssl crt ${testdir}/common.pem
server A
server B ${h2_B_addr}:${h2_B_port}
server C ${h3_C_addr}:${h3_C_port}
server D ${h4_D_addr}:${h4_D_port}
frontend fe
bind "fd@${fe}"
tcp-request inspect-delay 100ms
tcp-request content track-sc0 url table stkt
tcp-request content sc-inc-gpc0(0)
}
haproxy h2 -arg "-L B" -conf {
defaults
mode http
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
default-server ssl crt ${testdir}/common.pem verify none
bind "fd@${B}" ssl crt ${testdir}/common.pem
server A ${h1_A_addr}:${h1_A_port}
server B
server C ${h3_C_addr}:${h3_C_port}
server D ${h4_D_addr}:${h4_D_port}
frontend fe
bind "fd@${fe}"
http-request track-sc0 url table stkt
http-request sc-inc-gpc0(0)
}
haproxy h3 -arg "-L C" -conf {
defaults
mode http
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
default-server ssl crt ${testdir}/common.pem verify none
bind "fd@${C}" ssl crt ${testdir}/common.pem
server A ${h1_A_addr}:${h1_A_port}
server B ${h2_B_addr}:${h2_B_port}
server C
server D ${h4_D_addr}:${h4_D_port}
frontend fe
bind "fd@${fe}"
http-request track-sc0 url table stkt
http-request sc-inc-gpc0(0)
}
haproxy h4 -arg "-L D" -conf {
defaults
mode http
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
backend stkt
stick-table type string size 10m store server_id,gpc0,conn_cur,conn_rate(50000) peers peers
peers peers
bind "fd@${D}"
server A ${h1_A_addr}:${h1_A_port}
server B ${h2_B_addr}:${h2_B_port}
server C ${h3_C_addr}:${h3_C_port}
server D
frontend fe
bind "fd@${fe}"
http-request track-sc0 url table stkt
http-request sc-inc-gpc0(0)
}
client c1 -connect ${h1_fe_sock} {
txreq -url "/c1_client"
expect_close
} -start
client c2 -connect ${h1_fe_sock} {
txreq -url "/c2_client"
expect_close
} -start
client c3 -connect ${h1_fe_sock} {
txreq -url "/c3_client"
expect_close
} -start
client c4 -connect ${h1_fe_sock} {
txreq -url "/c4_client"
expect_close
} -start
haproxy h1 -start
delay 0.2
haproxy h2 -start
delay 0.2
haproxy h3 -start
delay 0.2
haproxy h4 -start
delay 0.2
client c1 -wait
client c2 -wait
client c3 -wait
client c4 -wait
delay 2
haproxy h1 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:4(\n0x[0-9a-f]*: key=/c[1-4]_client use=0 exp=0 shard=0 server_id=0 gpc0=1 conn_rate\\(50000\\)=1 conn_cur=0){4}"
}
haproxy h2 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:4(\n0x[0-9a-f]*: key=/c[1-4]_client use=0 exp=0 shard=0 server_id=0 gpc0=1 conn_rate\\(50000\\)=1 conn_cur=0){4}"
}
haproxy h3 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:4(\n0x[0-9a-f]*: key=/c[1-4]_client use=0 exp=0 shard=0 server_id=0 gpc0=1 conn_rate\\(50000\\)=1 conn_cur=0){4}"
}
haproxy h4 -cli {
send "show table stkt"
expect ~ "# table: stkt, type: string, size:1048[0-9]{4}, used:0\n"
}