Whamcloud - gitweb
LU-18114 lctl: split "lctl net_delay_*" group into subcommands 64/56164/4
authorEmoly Liu <emoly@whamcloud.com>
Tue, 27 Aug 2024 11:36:22 +0000 (19:36 +0800)
committerOleg Drokin <green@whamcloud.com>
Mon, 9 Dec 2024 06:08:33 +0000 (06:08 +0000)
Split "lctl net_delay_*" command group into subcommands, e.g.
"lctl net_delay_add" to "lctl net_delay add".
Also, sanity-lnet.sh is modified to verify this patch.

Test-Parameters: trivial testlist=sanity-lnet
Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: I64fa95155f93d8a5d844f9e14673acaea5f4ee60
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56164
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/sanity-lnet.sh
lustre/utils/lctl.c

index 231a1c6..b648957 100755 (executable)
@@ -3757,9 +3757,17 @@ do_expired_message_drop_test() {
 
        delay=$((tto + 1))
 
+       if (( $MDS1_VERSION >= $(version_code 2.15.65) )); then
+               net_delay_add="net_delay add"
+               net_delay_del="net_delay del"
+       else
+               net_delay_add="net_delay_add"
+               net_delay_del="net_delay_del"
+       fi
+
        for lnid in "${LNIDS[@]}"; do
                for rnid in "${RNIDS[@]}"; do
-                       $LCTL net_delay_add -s "${lnid}" -d "${rnid}" \
+                       $LCTL $net_delay_add -s "${lnid}" -d "${rnid}" \
                                -l "${delay}" -r 1 -m GET ||
                                error "Failed to add delay rule"
                done
@@ -3800,7 +3808,7 @@ do_expired_message_drop_test() {
 
        sleep ${delay}
 
-       $LCTL net_delay_del -a
+       $LCTL $net_delay_del -a
 
        wait
 
index 0f6545c..ec12fd4 100644 (file)
@@ -131,6 +131,32 @@ command_t net_drop_cmdlist[] = {
 };
 JT_SUBCMD(net_drop);
 
+/**
+ * command_t net_delay_cmdlist - lctl net_delay commands.
+ */
+command_t net_delay_cmdlist[] = {
+       {.pc_name = "add", .pc_func = jt_ptl_delay_add,
+        .pc_help = "Add LNet delay rule\n"
+        "usage: net_delay add {-s | --source NID}\n"
+        "                     {-d | --dest NID}\n"
+        "                     {{-r | --rate DELAY_RATE} | {-i | --interval SECONDS}}\n"
+        "                     {-l | --latency SECONDS>\n"
+        "                     [-p | --portal PORTAL...]\n"
+        "                     [-m | --message {PUT|ACK|GET|REPLY...}]"},
+       {.pc_name = "del", .pc_func = jt_ptl_delay_del,
+        .pc_help = "remove LNet delay rule\n"
+        "usage: net_delay del {-a | --all} |\n"
+        "                     {{-s | --source NID} {-d | --dest NID}}"},
+       {.pc_name = "reset", .pc_func = jt_ptl_delay_reset,
+        .pc_help = "reset delay rule stats\n"
+        "usage: net_delay reset"},
+       {.pc_name = "list", .pc_func = jt_ptl_delay_list,
+        .pc_help = "list LNet delay rules\n"
+        "usage: net_delay list"},
+       {.pc_help = NULL }
+};
+JT_SUBCMD(net_delay);
+
 #ifdef HAVE_SERVER_SUPPORT
 /**
  * command_t barrier_cmdlist - lctl barrier commands.
@@ -289,21 +315,20 @@ command_t cmdlist[] = {
        {"net_drop", jt_net_drop, net_drop_cmdlist, ""},
 
        {"net_delay_add", jt_ptl_delay_add, 0, "Add LNet delay rule\n"
-        "usage: net_delay_add <-s | --source NID>\n"
-        "                     <-d | --dest NID>\n"
-        "                     <<-r | --rate DROP_RATE> |\n"
-        "                      <-i | --interval SECONDS>>\n"
-        "                     <-l | --latency SECONDS>\n"
-        "                     [<-p | --portal> PORTAL...]\n"
-        "                     [<-m | --message> <PUT|ACK|GET|REPLY>...]\n"},
+        "usage: net_delay_add {-s | --source NID}\n"
+        "                     {-d | --dest NID}\n"
+        "                     {{-r | --rate DELAY_RATE} | {-i | --interval SECONDS}}\n"
+        "                     {-l | --latency SECONDS>\n"
+        "                     [-p | --portal PORTAL...]\n"
+        "                     [-m | --message {PUT|ACK|GET|REPLY...}]"},
        {"net_delay_del", jt_ptl_delay_del, 0, "remove LNet delay rule\n"
-        "usage: net_delay_del <[-a | --all] |\n"
-        "                     <-s | --source NID>\n"
-        "                     <-d | --dest NID>>\n"},
+        "usage: net_delay_del {-a | --all} |\n"
+        "                     {{-s | --source NID} {-d | --dest NID}}"},
        {"net_delay_reset", jt_ptl_delay_reset, 0, "reset delay rule stats\n"
         "usage: net_delay_reset"},
        {"net_delay_list", jt_ptl_delay_list, 0, "list LNet delay rules\n"
         "usage: net_delay_list"},
+       {"net_delay", jt_net_delay, net_delay_cmdlist, ""},
 
        /* Device selection commands */
        {"==== obd device selection ====", NULL, 0, "device selection"},