diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:18:05 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:18:05 +0000 |
commit | b46aad6df449445a9fc4aa7b32bd40005438e3f7 (patch) | |
tree | 751aa858ca01f35de800164516b298887382919d /reg-tests/seamless-reload | |
parent | Initial commit. (diff) | |
download | haproxy-b46aad6df449445a9fc4aa7b32bd40005438e3f7.tar.xz haproxy-b46aad6df449445a9fc4aa7b32bd40005438e3f7.zip |
Adding upstream version 2.9.5.upstream/2.9.5
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'reg-tests/seamless-reload')
-rw-r--r-- | reg-tests/seamless-reload/abns_socket.vtc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/reg-tests/seamless-reload/abns_socket.vtc b/reg-tests/seamless-reload/abns_socket.vtc new file mode 100644 index 0000000..e8e5f28 --- /dev/null +++ b/reg-tests/seamless-reload/abns_socket.vtc @@ -0,0 +1,55 @@ +# commit b4dd15b +# BUG/MINOR: unix: Make sure we can transfer abns sockets on seamless reload. +# +# When checking if a socket we got from the parent is suitable for a listener, +# we just checked that the path matched sockname.tmp, however this is +# unsuitable for abns sockets, where we don't have to create a temporary +# file and rename it later. +# To detect that, check that the first character of the sun_path is 0 for +# both, and if so, that &sun_path[1] is the same too. +# +# Note: there are some tricks here. One of them is that we must not bind the +# same abns address to multiple processes that may run in parallel. Since +# vtest cannot provide abns sockets, we're instead concatenating the number +# of the listening port that vtest allocated for another frontend to the abns +# path, which guarantees to make them unique in the system. + +varnishtest "Seamless reload issue with abns sockets" +feature ignore_unknown_macro +feature cmd "command -v socat" +feature cmd "command -v grep" + +# abns@ sockets are not available on freebsd +#EXCLUDE_TARGETS=freebsd,osx,generic +#REGTEST_TYPE=devel + +haproxy h1 -W -S -conf { + global + stats socket "${tmpdir}/h1/stats" level admin expose-fd listeners + + defaults + mode http + log global + option httplog + timeout connect "${HAPROXY_TEST_TIMEOUT-5s}" + timeout client "${HAPROXY_TEST_TIMEOUT-5s}" + timeout server "${HAPROXY_TEST_TIMEOUT-5s}" + + listen testme + bind "fd@${testme}" + server test_abns_server abns@wpproc1_${h1_testme_port} send-proxy-v2 + + frontend test_abns + bind abns@wpproc1_${h1_testme_port} accept-proxy + http-request deny deny_status 200 +} -start + +shell { + echo "reload" | socat -t1000 TCP:${h1_mcli_addr}:${h1_mcli_port} - | grep 'Success=1' +} + +client c1 -connect ${h1_testme_sock} { + txreq -url "/" + rxresp +} -repeat 50 -run + |