From 3c67ab500b14a7b9fcd2aa754c94107e9c541441 Mon Sep 17 00:00:00 2001 From: clinx Date: Wed, 26 Mar 2025 16:25:14 +0800 Subject: [PATCH] fix(flashnode): valid args for fla flashnode list#1000020535 Signed-off-by: clinx --- cli/cmd/flashnode.go | 21 +++++++++++---------- master/flash_node_test.go | 4 ++++ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/cli/cmd/flashnode.go b/cli/cmd/flashnode.go index e95dae6de..f45098b6e 100644 --- a/cli/cmd/flashnode.go +++ b/cli/cmd/flashnode.go @@ -143,16 +143,19 @@ func newCmdFlashNodeGet(client *master.MasterClient) *cobra.Command { } func newCmdFlashNodeList(client *master.MasterClient) *cobra.Command { - var showActiveFlashNodes bool - cmd := &cobra.Command{ - Use: CliOpList, - ValidArgs: []string{"true", "false"}, - Short: "list all flash nodes or [active true/false] flash nodes", - Args: cobra.MinimumNArgs(0), + return &cobra.Command{ + Use: CliOpList, + Short: "list all flash nodes or [active true/false] flash nodes", + Args: cobra.MinimumNArgs(0), RunE: func(cmd *cobra.Command, args []string) (err error) { + var active bool activeFilter := -1 if len(args) == 1 { - if showActiveFlashNodes { + if active, err = strconv.ParseBool(args[0]); err != nil { + err = fmt.Errorf("Parse bool fail: %v\n", err) + return + } + if active { activeFilter = 1 } else { activeFilter = 0 @@ -162,7 +165,7 @@ func newCmdFlashNodeList(client *master.MasterClient) *cobra.Command { if err != nil { return } - stdoutln("[FlashNodes]") + stdoutln(fmt.Sprintf("[FlashNodes] active:%d", activeFilter)) tbl := table{formatFlashNodeViewTableTitle} for _, flashNodeViewInfos := range zoneFlashNodes { tbl = showFlashNodesView(flashNodeViewInfos, true, tbl) @@ -171,8 +174,6 @@ func newCmdFlashNodeList(client *master.MasterClient) *cobra.Command { return }, } - cmd.Flags().BoolVar(&showActiveFlashNodes, "active", true, "show flashnodes only contain inactive or active") - return cmd } func newCmdFlashNodeHTTPStat(client *master.MasterClient) *cobra.Command { diff --git a/master/flash_node_test.go b/master/flash_node_test.go index 7e73b0b8b..c86c2b977 100644 --- a/master/flash_node_test.go +++ b/master/flash_node_test.go @@ -105,4 +105,8 @@ func testFlashNodeList(t *testing.T) { require.Equal(t, 2, len(zoneNodes[testZone1])) require.Equal(t, 2, len(zoneNodes[testZone2])) require.Equal(t, 2, len(zoneNodes[testZone3])) + + zoneNodes, err = mc.NodeAPI().ListFlashNodes(0) + require.NoError(t, err) + require.Equal(t, 1, len(zoneNodes[testZone3])) }