mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-20 18:50:08 +00:00
79e6d2a7ad
Add an empty expect statement after the 'enable server' cli command. This ensures that the command has been properly handled by haproxy and its processing is over. It should fix the unstable behavior of the test which causes reports of 503 even after the server has been enabled. This should fix the github issue #1188.
93 lines
2.1 KiB
Plaintext
93 lines
2.1 KiB
Plaintext
varnishtest "Add server via cli"
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
#REQUIRE_VERSION=2.4
|
|
|
|
server s1 {
|
|
rxreq
|
|
txresp
|
|
} -start
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
mode http
|
|
${no-htx} option http-use-htx
|
|
timeout connect 1s
|
|
timeout client 1s
|
|
timeout server 1s
|
|
|
|
frontend fe
|
|
bind "fd@${feS}"
|
|
default_backend test
|
|
|
|
backend test
|
|
balance random
|
|
|
|
backend other
|
|
balance static-rr
|
|
|
|
backend other2
|
|
balance random
|
|
mode tcp
|
|
} -start
|
|
|
|
client c1 -connect ${h1_feS_sock} {
|
|
txreq
|
|
rxresp
|
|
expect resp.status == 503
|
|
} -run
|
|
|
|
haproxy h1 -cli {
|
|
# experimental mode disabled
|
|
send "add server foo/s1 ${s1_addr}:${s1_port}"
|
|
expect ~ "This command is restricted to experimental mode only."
|
|
|
|
# non existent backend
|
|
send "experimental-mode on; add server foo/s1 ${s1_addr}:${s1_port}"
|
|
expect ~ "No such backend."
|
|
|
|
# missing address
|
|
send "experimental-mode on; add server test/s1"
|
|
expect ~ "'server' expects <name> and <addr>\\[:<port>\\] as arguments."
|
|
|
|
# invalid load-balancing algo
|
|
send "experimental-mode on; add server other/s1 ${s1_addr}:${s1_port}"
|
|
expect ~ "Backend must use a consistent hashing method for load balancing to support dynamic servers."
|
|
|
|
# invalid mux proto
|
|
send "experimental-mode on; add server other2/s1 ${s1_addr}:${s1_port} proto h2"
|
|
expect ~ "MUX protocol is not usable for server."
|
|
|
|
# valid command
|
|
send "experimental-mode on; add server test/s1 ${s1_addr}:${s1_port}"
|
|
expect ~ "New server registered."
|
|
|
|
# duplicate server
|
|
send "experimental-mode on; add server test/s1 ${s1_addr}:${s1_port}"
|
|
expect ~ "Already exists a server with the same name in backend."
|
|
|
|
# valid command
|
|
# specify the proto, it should be accepted for this backend
|
|
send "experimental-mode on; add server test/s2 ${s1_addr}:${s1_port} proto h2"
|
|
expect ~ "New server registered."
|
|
}
|
|
|
|
# dynamic servers are created on MAINT mode and should not be available at first
|
|
client c2 -connect ${h1_feS_sock} {
|
|
txreq
|
|
rxresp
|
|
expect resp.status == 503
|
|
} -run
|
|
|
|
haproxy h1 -cli {
|
|
send "enable server test/s1"
|
|
expect ~ ".*"
|
|
}
|
|
|
|
client c3 -connect ${h1_feS_sock} {
|
|
txreq
|
|
rxresp
|
|
expect resp.status == 200
|
|
} -run
|