shell: cluster.ps display filer group

This commit is contained in:
chrislu
2022-05-29 16:37:14 -07:00
parent 9219664505
commit ca16fbf0ef
5 changed files with 268 additions and 234 deletions

View File

@@ -5,6 +5,8 @@ import (
"flag"
"fmt"
"github.com/chrislusf/seaweedfs/weed/cluster"
"github.com/chrislusf/seaweedfs/weed/pb"
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"io"
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
@@ -36,21 +38,40 @@ func (c *commandClusterPs) Do(args []string, commandEnv *CommandEnv, writer io.W
return nil
}
var filerNodes []*master_pb.ListClusterNodesResponse_ClusterNode
err = commandEnv.MasterClient.WithClient(false, func(client master_pb.SeaweedClient) error {
resp, err := client.ListClusterNodes(context.Background(), &master_pb.ListClusterNodesRequest{
ClientType: cluster.FilerType,
FilerGroup: *commandEnv.option.FilerGroup,
})
fmt.Fprintf(writer, "the cluster has %d filers\n", len(resp.ClusterNodes))
for _, node := range resp.ClusterNodes {
fmt.Fprintf(writer, " * %s (%v)\n", node.Address, node.Version)
if err != nil {
return err
}
filerNodes = resp.ClusterNodes
return err
})
if err != nil {
return
}
fmt.Fprintf(writer, "the cluster has %d filers\n", len(filerNodes))
for _, node := range filerNodes {
fmt.Fprintf(writer, " * %s (%v)\n", node.Address, node.Version)
pb.WithFilerClient(false, pb.ServerAddress(node.Address), commandEnv.option.GrpcDialOption, func(client filer_pb.SeaweedFilerClient) error {
resp, err := client.GetFilerConfiguration(context.Background(), &filer_pb.GetFilerConfigurationRequest{})
if err == nil {
if resp.FilerGroup != "" {
fmt.Fprintf(writer, " filer group: %s\n", resp.FilerGroup)
}
fmt.Fprintf(writer, " signature: %d\n", resp.Signature)
} else {
fmt.Fprintf(writer, " failed to connect: %v\n", err)
}
return err
})
}
return nil
}