mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-30 01:52:53 +00: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
|
||||
|
||||
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."
|
||||
}
|
||||
|
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…
Reference in New Issue
Block a user