diff options
| author | chrislu <chris.lu@gmail.com> | 2022-04-01 17:40:25 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-04-01 17:40:25 -0700 |
| commit | 4ecba915f3c1f25f4f6d603686855535ee23811c (patch) | |
| tree | 6ffccc3a5e23da7201f2211be6c2fdfbd43b71ed /weed/shell/command_cluster_check.go | |
| parent | daca2d22a56fb1ff6d659fe8dda2c5d3d0c65a15 (diff) | |
| download | seaweedfs-4ecba915f3c1f25f4f6d603686855535ee23811c.tar.xz seaweedfs-4ecba915f3c1f25f4f6d603686855535ee23811c.zip | |
add check between peers
Diffstat (limited to 'weed/shell/command_cluster_check.go')
| -rw-r--r-- | weed/shell/command_cluster_check.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/weed/shell/command_cluster_check.go b/weed/shell/command_cluster_check.go index 2100dff91..3899cdc9a 100644 --- a/weed/shell/command_cluster_check.go +++ b/weed/shell/command_cluster_check.go @@ -96,6 +96,25 @@ func (c *commandClusterCheck) Do(args []string, commandEnv *CommandEnv, writer i } } + // check between masters + for _, sourceMaster := range masters { + for _, targetMaster := range masters { + fmt.Fprintf(writer, "checking master %s to %s ... ", string(sourceMaster), string(targetMaster)) + err := pb.WithMasterClient(false, sourceMaster, commandEnv.option.GrpcDialOption, func(client master_pb.SeaweedClient) error { + _, err := client.Ping(context.Background(), &master_pb.PingRequest{ + Target: string(targetMaster), + TargetType: cluster.MasterType, + }) + return err + }) + if err == nil { + fmt.Fprintf(writer, "ok\n") + } else { + fmt.Fprintf(writer, "%v\n", err) + } + } + } + // check from volume servers to masters for _, volumeServer := range volumeServers { for _, master := range masters { @@ -153,5 +172,46 @@ func (c *commandClusterCheck) Do(args []string, commandEnv *CommandEnv, writer i } } + // check between volume servers + for _, sourceVolumeServer := range volumeServers { + for _, targetVolumeServer := range volumeServers { + fmt.Fprintf(writer, "checking volume server %s to %s ... ", string(sourceVolumeServer), string(targetVolumeServer)) + err := pb.WithVolumeServerClient(false, sourceVolumeServer, commandEnv.option.GrpcDialOption, func(client volume_server_pb.VolumeServerClient) error { + _, err := client.Ping(context.Background(), &volume_server_pb.PingRequest{ + Target: string(targetVolumeServer), + TargetType: cluster.VolumeServerType, + }) + return err + }) + if err == nil { + fmt.Fprintf(writer, "ok\n") + } else { + fmt.Fprintf(writer, "%v\n", err) + } + } + } + + // check between filers + for _, sourceFiler := range filers { + for _, targetFiler := range filers { + if sourceFiler == targetFiler { + continue + } + fmt.Fprintf(writer, "checking filer %s to %s ... ", string(sourceFiler), string(targetFiler)) + err := pb.WithFilerClient(false, sourceFiler, commandEnv.option.GrpcDialOption, func(client filer_pb.SeaweedFilerClient) error { + _, err := client.Ping(context.Background(), &filer_pb.PingRequest{ + Target: string(targetFiler), + TargetType: cluster.FilerType, + }) + return err + }) + if err == nil { + fmt.Fprintf(writer, "ok\n") + } else { + fmt.Fprintf(writer, "%v\n", err) + } + } + } + return nil } |
