Browse Source

consistent with other commands

pull/7450/head
chrislu 4 weeks ago
parent
commit
1bf9b0f57f
  1. 1
      weed/shell/command_fs_meta_change_volume_id.go
  2. 21
      weed/shell/command_volume_server_leave.go

1
weed/shell/command_fs_meta_change_volume_id.go

@ -58,6 +58,7 @@ func (c *commandFsMetaChangeVolumeId) Do(args []string, commandEnv *CommandEnv,
} }
handleDeprecatedForceFlag(writer, fsMetaChangeVolumeIdCommand, applyChangesAlias, applyChanges) handleDeprecatedForceFlag(writer, fsMetaChangeVolumeIdCommand, applyChangesAlias, applyChanges)
infoAboutSimulationMode(writer, *applyChanges, "-apply")
// load the mapping // load the mapping
mapping := make(map[needle.VolumeId]needle.VolumeId) mapping := make(map[needle.VolumeId]needle.VolumeId)

21
weed/shell/command_volume_server_leave.go

@ -4,11 +4,12 @@ import (
"context" "context"
"flag" "flag"
"fmt" "fmt"
"io"
"github.com/seaweedfs/seaweedfs/weed/operation" "github.com/seaweedfs/seaweedfs/weed/operation"
"github.com/seaweedfs/seaweedfs/weed/pb" "github.com/seaweedfs/seaweedfs/weed/pb"
"github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb" "github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb"
"google.golang.org/grpc" "google.golang.org/grpc"
"io"
) )
func init() { func init() {
@ -25,7 +26,7 @@ func (c *commandVolumeServerLeave) Name() string {
func (c *commandVolumeServerLeave) Help() string { func (c *commandVolumeServerLeave) Help() string {
return `stop a volume server from sending heartbeats to the master return `stop a volume server from sending heartbeats to the master
volumeServer.leave -node <volume server host:port>
volumeServer.leave -node <volume server host:port> [-apply]
This command enables gracefully shutting down the volume server. This command enables gracefully shutting down the volume server.
The volume server will stop sending heartbeats to the master. The volume server will stop sending heartbeats to the master.
@ -43,11 +44,17 @@ func (c *commandVolumeServerLeave) Do(args []string, commandEnv *CommandEnv, wri
vsLeaveCommand := flag.NewFlagSet(c.Name(), flag.ContinueOnError) vsLeaveCommand := flag.NewFlagSet(c.Name(), flag.ContinueOnError)
volumeServer := vsLeaveCommand.String("node", "", "<host>:<port> of the volume server") volumeServer := vsLeaveCommand.String("node", "", "<host>:<port> of the volume server")
applyChanges := vsLeaveCommand.Bool("apply", false, "apply the changes")
// TODO: remove this alias
applyChangesAlias := vsLeaveCommand.Bool("force", false, "apply the changes (alias for -apply)")
if err = vsLeaveCommand.Parse(args); err != nil { if err = vsLeaveCommand.Parse(args); err != nil {
return nil return nil
} }
if err = commandEnv.confirmIsLocked(args); err != nil {
handleDeprecatedForceFlag(writer, vsLeaveCommand, applyChangesAlias, applyChanges)
infoAboutSimulationMode(writer, *applyChanges, "-apply")
if err = commandEnv.confirmIsLocked(args); err != nil && *applyChanges {
return return
} }
@ -55,11 +62,15 @@ func (c *commandVolumeServerLeave) Do(args []string, commandEnv *CommandEnv, wri
return fmt.Errorf("need to specify volume server by -node=<host>:<port>") return fmt.Errorf("need to specify volume server by -node=<host>:<port>")
} }
return volumeServerLeave(commandEnv.option.GrpcDialOption, pb.ServerAddress(*volumeServer), writer)
return volumeServerLeave(commandEnv.option.GrpcDialOption, pb.ServerAddress(*volumeServer), writer, *applyChanges)
} }
func volumeServerLeave(grpcDialOption grpc.DialOption, volumeServer pb.ServerAddress, writer io.Writer) (err error) {
func volumeServerLeave(grpcDialOption grpc.DialOption, volumeServer pb.ServerAddress, writer io.Writer, applyChanges bool) (err error) {
if !applyChanges {
fmt.Fprintf(writer, "Would ask volume server %s to leave (dry-run)\n", volumeServer)
return nil
}
return operation.WithVolumeServerClient(false, volumeServer, grpcDialOption, func(volumeServerClient volume_server_pb.VolumeServerClient) error { return operation.WithVolumeServerClient(false, volumeServer, grpcDialOption, func(volumeServerClient volume_server_pb.VolumeServerClient) error {
_, leaveErr := volumeServerClient.VolumeServerLeave(context.Background(), &volume_server_pb.VolumeServerLeaveRequest{}) _, leaveErr := volumeServerClient.VolumeServerLeave(context.Background(), &volume_server_pb.VolumeServerLeaveRequest{})
if leaveErr != nil { if leaveErr != nil {

Loading…
Cancel
Save