]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: proxy: remove the experimental status on dynamic backends
authorWilly Tarreau <w@1wt.eu>
Tue, 19 May 2026 12:51:29 +0000 (14:51 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 19 May 2026 12:56:45 +0000 (14:56 +0200)
As initially planned, if no trouble was reported on dynamic backend
commands on the CLI, the experimental status could be dropped before the
release. The feedback was not very broad, but was conclusive in that the
operations work as expected and the current syntax can be preserved even
for future evolutions. So we can drop the experimental status.

reg-tests/proxy/cli_add_backend.vtc
reg-tests/proxy/cli_del_backend.vtc
src/proxy.c

index 7a2c97f79e4cd3f0f75f8c747a0e06f383b8492c..c1d049590c7725ac415cb0f4ecbf335ecfa5aa0c 100644 (file)
@@ -50,10 +50,10 @@ client c1 -connect ${h1_feS_sock} {
 
 haproxy h1 -cli {
        # non existent backend
-       send "experimental-mode on; add backend be from def"
+       send "add backend be from def"
        expect ~ "Mode is required"
 
-       send "experimental-mode on; add backend be from def_http"
+       send "add backend be from def_http"
        expect ~ "New backend registered."
 
        send "add server be/srv ${hsrv_fe_addr}:${hsrv_fe_port}"
index 4eb17070a7b1dd8db1f4937a1260959fb60d7119..bcbc1a4c17e5f8fe48ec759416cf77f03f61b873 100644 (file)
@@ -40,29 +40,29 @@ haproxy h1 -conf {
 } -start
 
 haproxy h1 -cli {
-       send "experimental-mode on; del backend other"
+       send "del backend other"
        expect ~ "No such backend."
 
-       send "experimental-mode on; del backend li"
+       send "del backend li"
        expect ~ "Cannot delete a listen section."
 
-       send "experimental-mode on; del backend be_ref"
+       send "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"
+       send "del backend be"
        expect ~ "Backend must be unpublished prior to its deletion."
 
        send "unpublish backend be;"
        expect ~ ".*"
-       send "experimental-mode on; del backend be"
+       send "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"
+       send "del backend be"
        expect ~ "Backend deleted."
 
        send "show stat be 2 -1"
@@ -75,7 +75,7 @@ haproxy h1 -cli {
 
        send "unpublish backend be_unnamed_def_ref;"
        expect ~ ".*"
-       send "experimental-mode on; del backend be_unnamed_def_ref"
+       send "del backend be_unnamed_def_ref"
        expect ~ "Backend deleted."
 
        send "show stat be_unnamed_def_ref 2 -1"
@@ -83,6 +83,6 @@ haproxy h1 -cli {
 
        send "unpublish backend be_unnamed_def_ref2;"
        expect ~ ".*"
-       send "experimental-mode on; del backend be_unnamed_def_ref2"
+       send "del backend be_unnamed_def_ref2"
        expect ~ "Backend deleted."
 }
index c6c4eb293931f63953b3f9507e5a55b827b09371..d7ca0984361bcbc2ff9ac85185ccc0f59a48707e 100644 (file)
@@ -5443,8 +5443,8 @@ static int cli_io_handler_show_errors(struct appctx *appctx)
 
 /* register cli keywords */
 static struct cli_kw_list cli_kws = {{ },{
-       { { "add", "backend", NULL },                       "add backend <backend>                   : add a new backend",                                              cli_parse_add_backend, NULL, NULL, NULL, ACCESS_EXPERIMENTAL },
-       { { "del", "backend", NULL },                       "del backend <backend>                   : delete a backend",                                               cli_parse_delete_backend, NULL, NULL, NULL, ACCESS_EXPERIMENTAL },
+       { { "add", "backend", NULL },                       "add backend <backend>                   : add a new backend",                                              cli_parse_add_backend, NULL, NULL, NULL, 0 },
+       { { "del", "backend", NULL },                       "del backend <backend>                   : delete a backend",                                               cli_parse_delete_backend, NULL, NULL, NULL, 0 },
        { { "disable", "frontend",  NULL },                 "disable frontend <frontend>             : temporarily disable specific frontend",                          cli_parse_disable_frontend, NULL, NULL },
        { { "enable", "frontend",  NULL },                  "enable frontend <frontend>              : re-enable specific frontend",                                    cli_parse_enable_frontend, NULL, NULL },
        { { "publish", "backend",  NULL },                  "publish backend <backend>               : mark backend as ready for traffic",                              cli_parse_publish_backend, NULL, NULL },