mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-03-15 03:51:13 +01:00
Complete delete backend regtests by checking deletion of a proxy with a reference on an unnamed defaults instance. This operation is sensible as the defaults refcount is decremented, and when the last backend is removed, the defaults is also freed.
89 lines
2.1 KiB
Plaintext
89 lines
2.1 KiB
Plaintext
varnishtest "Delete backend via cli"
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
haproxy h1 -conf {
|
|
global
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
frontend fe
|
|
bind "fd@${feS}"
|
|
use_backend be_ref
|
|
|
|
listen li
|
|
bind "fd@${feli}"
|
|
|
|
backend be_ref
|
|
|
|
backend be
|
|
server s1 ${s1_addr}:${s1_port} disabled
|
|
|
|
# Defaults with tcp-check rules in it
|
|
# Currently this is the only case of runtime ref on an unnamed default
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
option httpchk GET / HTTP/1.1
|
|
|
|
backend be_unnamed_def_ref
|
|
backend be_unnamed_def_ref2
|
|
} -start
|
|
|
|
haproxy h1 -cli {
|
|
send "experimental-mode on; del backend other"
|
|
expect ~ "No such backend."
|
|
|
|
send "experimental-mode on; del backend li"
|
|
expect ~ "Cannot delete a listen section."
|
|
|
|
send "experimental-mode on; del backend be_ref"
|
|
expect ~ "This proxy cannot be removed at runtime due to other configuration elements pointing to it."
|
|
|
|
send "show stat be 2 -1"
|
|
expect ~ "be,BACKEND,"
|
|
|
|
send "experimental-mode on; del backend be"
|
|
expect ~ "Backend must be unpublished prior to its deletion."
|
|
|
|
send "unpublish backend be;"
|
|
expect ~ ".*"
|
|
send "experimental-mode on; del backend be"
|
|
expect ~ "Only a backend without server can be deleted."
|
|
|
|
send "del server be/s1"
|
|
expect ~ ".*"
|
|
send "experimental-mode on; del backend be"
|
|
expect ~ "Backend deleted."
|
|
|
|
send "show stat be 2 -1"
|
|
expect !~ "be,BACKEND,"
|
|
}
|
|
|
|
haproxy h1 -cli {
|
|
send "show stat be_unnamed_def_ref 2 -1"
|
|
expect ~ "be_unnamed_def_ref,BACKEND,"
|
|
|
|
send "unpublish backend be_unnamed_def_ref;"
|
|
expect ~ ".*"
|
|
send "experimental-mode on; del backend be_unnamed_def_ref"
|
|
expect ~ "Backend deleted."
|
|
|
|
send "show stat be_unnamed_def_ref 2 -1"
|
|
expect !~ "be_unnamed_def_ref,BACKEND,"
|
|
|
|
send "unpublish backend be_unnamed_def_ref2;"
|
|
expect ~ ".*"
|
|
send "experimental-mode on; del backend be_unnamed_def_ref2"
|
|
expect ~ "Backend deleted."
|
|
}
|