mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-29 06:40:59 +01:00
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.
This commit is contained in:
parent
61aa4428c1
commit
104b8e514d
@ -7,15 +7,7 @@ feature ignore_unknown_macro
|
|||||||
|
|
||||||
#REQUIRE_VERSION=2.4
|
#REQUIRE_VERSION=2.4
|
||||||
|
|
||||||
server s1 {
|
|
||||||
rxreq
|
|
||||||
txresp
|
|
||||||
} -start
|
|
||||||
|
|
||||||
haproxy h1 -conf {
|
haproxy h1 -conf {
|
||||||
global
|
|
||||||
lua-load ${testdir}/get_srv_stats.lua
|
|
||||||
|
|
||||||
defaults
|
defaults
|
||||||
mode http
|
mode http
|
||||||
timeout connect 1s
|
timeout connect 1s
|
||||||
@ -28,13 +20,11 @@ haproxy h1 -conf {
|
|||||||
default_backend test
|
default_backend test
|
||||||
|
|
||||||
backend test
|
backend test
|
||||||
http-request add-header s4-stats %[lua.get_srv_stats(s4)]
|
|
||||||
use-server s3 unless { always_false }
|
use-server s3 unless { always_false }
|
||||||
server s1 ${s1_addr}:${s1_port} # referenced in ACL
|
server s1 ${s1_addr}:${s1_port} # referenced in ACL
|
||||||
server s2 ${s1_addr}:${s1_port} check # referenced in track
|
server s2 ${s1_addr}:${s1_port} check # referenced in track
|
||||||
server s3 ${s1_addr}:${s1_port} track s2 # referenced in use-server
|
server s3 ${s1_addr}:${s1_port} track s2 # referenced in use-server
|
||||||
server s4 ${s1_addr}:${s1_port} # referenced in lua script
|
server s4 ${s1_addr}:${s1_port} # removable server
|
||||||
server s5 ${s1_addr}:${s1_port} # removable server
|
|
||||||
} -start
|
} -start
|
||||||
|
|
||||||
haproxy h1 -cli {
|
haproxy h1 -cli {
|
||||||
@ -61,26 +51,15 @@ haproxy h1 -cli {
|
|||||||
# tracked server
|
# tracked server
|
||||||
send "experimental-mode on; del server test/s3"
|
send "experimental-mode on; del server test/s3"
|
||||||
expect ~ "This server cannot be removed at runtime due to other configuration elements pointing to it."
|
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 in running mode
|
||||||
# server
|
|
||||||
client c1 -connect ${h1_feS_sock} {
|
|
||||||
txreq
|
|
||||||
rxresp
|
|
||||||
} -run
|
|
||||||
|
|
||||||
haproxy h1 -cli {
|
|
||||||
send "experimental-mode on; del server test/s4"
|
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."
|
expect ~ "Only servers in maintenance mode can be deleted."
|
||||||
|
|
||||||
send "disable server test/s5"
|
send "disable server test/s4"
|
||||||
expect ~ ".*"
|
expect ~ ".*"
|
||||||
|
|
||||||
# valid command
|
# valid command
|
||||||
send "experimental-mode on; del server test/s5"
|
send "experimental-mode on; del server test/s4"
|
||||||
expect ~ "Server deleted."
|
expect ~ "Server deleted."
|
||||||
}
|
}
|
||||||
|
|||||||
44
reg-tests/server/cli_delete_server_lua.vtc
Normal file
44
reg-tests/server/cli_delete_server_lua.vtc
Normal file
@ -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."
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user