mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-02 02:02:03 +00:00
5a63e72840
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.
159 lines
4.3 KiB
Plaintext
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"
|
|
}
|
|
|