diff options
author | Amaury Denoyelle <adenoyelle@haproxy.com> | 2021-08-25 16:24:23 +0200 |
---|---|---|
committer | Amaury Denoyelle <adenoyelle@haproxy.com> | 2021-08-25 16:34:33 +0200 |
commit | 104b8e514d98ad233013d2cf2378025a82ec3c7b (patch) | |
tree | df2476f031ce17b180930340deb2fb4f7534b8cf | |
parent | 61aa4428c1a0a7b747914da0f7b47bae59f4f755 (diff) | |
download | haproxy-104b8e514d98ad233013d2cf2378025a82ec3c7b.tar.gz |
REGTEST: add missing lua requirements on server removal test
The test that removes server via CLI is using LUA to check that servers
referenced in a LUA script cannot be removed. This requires LUA support
to be built in haproxy.
Split the test and create a new one containing only the LUA relevant
test. Mark it as LUA dependant.
-rw-r--r-- | reg-tests/server/cli_delete_server.vtc | 29 | ||||
-rw-r--r-- | reg-tests/server/cli_delete_server_lua.vtc | 44 |
2 files changed, 48 insertions, 25 deletions
diff --git a/reg-tests/server/cli_delete_server.vtc b/reg-tests/server/cli_delete_server.vtc index d752d6f8c..7487fc773 100644 --- a/reg-tests/server/cli_delete_server.vtc +++ b/reg-tests/server/cli_delete_server.vtc @@ -7,15 +7,7 @@ feature ignore_unknown_macro #REQUIRE_VERSION=2.4 -server s1 { - rxreq - txresp -} -start - haproxy h1 -conf { - global - lua-load ${testdir}/get_srv_stats.lua - defaults mode http timeout connect 1s @@ -28,13 +20,11 @@ haproxy h1 -conf { default_backend test backend test - http-request add-header s4-stats %[lua.get_srv_stats(s4)] use-server s3 unless { always_false } server s1 ${s1_addr}:${s1_port} # referenced in ACL server s2 ${s1_addr}:${s1_port} check # referenced in track server s3 ${s1_addr}:${s1_port} track s2 # referenced in use-server - server s4 ${s1_addr}:${s1_port} # referenced in lua script - server s5 ${s1_addr}:${s1_port} # removable server + server s4 ${s1_addr}:${s1_port} # removable server } -start haproxy h1 -cli { @@ -61,26 +51,15 @@ haproxy h1 -cli { # tracked server send "experimental-mode on; del server test/s3" expect ~ "This server cannot be removed at runtime due to other configuration elements pointing to it." -} - -# make a request to force the execution of the lua script which references a -# server -client c1 -connect ${h1_feS_sock} { - txreq - rxresp -} -run -haproxy h1 -cli { + # server in running mode send "experimental-mode on; del server test/s4" - expect ~ "This server cannot be removed at runtime due to other configuration elements pointing to it." - - send "experimental-mode on; del server test/s5" expect ~ "Only servers in maintenance mode can be deleted." - send "disable server test/s5" + send "disable server test/s4" expect ~ ".*" # valid command - send "experimental-mode on; del server test/s5" + send "experimental-mode on; del server test/s4" expect ~ "Server deleted." } diff --git a/reg-tests/server/cli_delete_server_lua.vtc b/reg-tests/server/cli_delete_server_lua.vtc new file mode 100644 index 000000000..ab4200f0c --- /dev/null +++ b/reg-tests/server/cli_delete_server_lua.vtc @@ -0,0 +1,44 @@ +# This script is to check that servers that are referenced by a lua script +# cannot be removed at runtime. +varnishtest "Delete lua server via cli" + +feature ignore_unknown_macro + +#REQUIRE_VERSION=2.5 +#REQUIRE_OPTIONS=LUA + +server s1 { + rxreq + txresp +} -start + +haproxy h1 -conf { + global + lua-load ${testdir}/get_srv_stats.lua + + defaults + mode http + timeout connect 1s + timeout client 1s + timeout server 1s + + frontend fe + bind "fd@${feS}" + default_backend test + + backend test + http-request add-header s1-stats %[lua.get_srv_stats(s1)] + server s1 ${s1_addr}:${s1_port} # referenced in lua script +} -start + +# make a request to force the execution of the lua script which references a +# server +client c1 -connect ${h1_feS_sock} { + txreq + rxresp +} -run + +haproxy h1 -cli { + send "experimental-mode on; del server test/s1" + expect ~ "This server cannot be removed at runtime due to other configuration elements pointing to it." +} |