MINOR: server: support keyword proto in 'add server' cli
Allow to specify the mux proto for a dynamic server. It must be
compatible with the backend mode to be accepted. The reg-tests has been
extended for this error case.
diff --git a/reg-tests/server/cli_add_server.vtc b/reg-tests/server/cli_add_server.vtc
index be2d38c..67e7252 100644
--- a/reg-tests/server/cli_add_server.vtc
+++ b/reg-tests/server/cli_add_server.vtc
@@ -26,6 +26,10 @@
backend other
balance static-rr
+
+ backend other2
+ balance random
+ mode tcp
} -start
client c1 -connect ${h1_feS_sock} {
@@ -51,6 +55,10 @@
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."
@@ -58,6 +66,11 @@
# 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