summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Denoyelle <adenoyelle@haproxy.com>2021-08-25 16:24:23 +0200
committerAmaury Denoyelle <adenoyelle@haproxy.com>2021-08-25 16:34:33 +0200
commit104b8e514d98ad233013d2cf2378025a82ec3c7b (patch)
treedf2476f031ce17b180930340deb2fb4f7534b8cf
parent61aa4428c1a0a7b747914da0f7b47bae59f4f755 (diff)
downloadhaproxy-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.vtc29
-rw-r--r--reg-tests/server/cli_delete_server_lua.vtc44
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."
+}