mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(master): remove the interface that resets the decommission state of the disk to avoid misuse.
close:#1000242504 Signed-off-by: shuqiang-zheng <zhengshuqiang@oppo.com>
This commit is contained in:
parent
4f0b89ebb6
commit
5f458b8ff5
@ -8606,42 +8606,6 @@ func (m *Server) recoverBackupDataReplica(w http.ResponseWriter, r *http.Request
|
||||
sendOkReply(w, r, newSuccessHTTPReply(msg))
|
||||
}
|
||||
|
||||
func (m *Server) resetDecommissionDiskStatus(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
offLineAddr, diskPath string
|
||||
err error
|
||||
)
|
||||
|
||||
metric := exporter.NewTPCnt("req_resetDecommissionDisk")
|
||||
defer func() {
|
||||
metric.Set(err)
|
||||
AuditLog(r, proto.ResetDecommissionDiskStatus, fmt.Sprintf("offline addr(%v) disk(%v)", offLineAddr, diskPath), err)
|
||||
}()
|
||||
|
||||
if offLineAddr, diskPath, _, _, _, err = parseReqToDecoDisk(r); err != nil {
|
||||
sendErrReply(w, r, &proto.HTTPReply{Code: proto.ErrCodeParamError, Msg: err.Error()})
|
||||
return
|
||||
}
|
||||
key := fmt.Sprintf("%s_%s", offLineAddr, diskPath)
|
||||
value, ok := m.cluster.DecommissionDisks.Load(key)
|
||||
if !ok {
|
||||
ret := fmt.Sprintf("action[resetDecommissionDiskStatus]cannot found decommission task for node[%v] disk[%v], "+
|
||||
"may be already offline", offLineAddr, diskPath)
|
||||
sendErrReply(w, r, &proto.HTTPReply{Code: proto.ErrCodeParamError, Msg: ret})
|
||||
return
|
||||
}
|
||||
disk := value.(*DecommissionDisk)
|
||||
disk.SetDecommissionStatus(DecommissionInitial)
|
||||
err = m.cluster.syncUpdateDecommissionDisk(disk)
|
||||
if err != nil {
|
||||
ret := fmt.Sprintf("action[resetDecommissionDiskStatus]persist disk[%v] failed %v", key, err.Error())
|
||||
sendErrReply(w, r, &proto.HTTPReply{Code: proto.ErrCodeParamError, Msg: ret})
|
||||
return
|
||||
}
|
||||
rstMsg := fmt.Sprintf("reset decommission disk[%s] successfully ", key)
|
||||
sendOkReply(w, r, newSuccessHTTPReply(rstMsg))
|
||||
}
|
||||
|
||||
func (m *Server) recoverBadDisk(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
offLineAddr, diskPath string
|
||||
|
||||
@ -772,9 +772,6 @@ func (m *Server) registerAPIRoutes(router *mux.Router) {
|
||||
router.NewRoute().Methods(http.MethodGet, http.MethodPost).
|
||||
Path(proto.CancelDecommissionDisk).
|
||||
HandlerFunc(m.cancelDecommissionDisk)
|
||||
router.NewRoute().Methods(http.MethodGet, http.MethodPost).
|
||||
Path(proto.ResetDecommissionDiskStatus).
|
||||
HandlerFunc(m.resetDecommissionDiskStatus)
|
||||
router.NewRoute().Methods(http.MethodGet, http.MethodPost).
|
||||
Path(proto.AdminResetDataPartitionRestoreStatus).
|
||||
HandlerFunc(m.resetDataPartitionRestoreStatus)
|
||||
|
||||
@ -189,7 +189,6 @@ const (
|
||||
DeleteDecommissionDiskRecord = "/disk/deleteDecommissionDiskRecord"
|
||||
PauseDecommissionDisk = "/disk/pauseDecommission"
|
||||
CancelDecommissionDisk = "/disk/cancelDecommission"
|
||||
ResetDecommissionDiskStatus = "/disk/resetDecommissionStatus"
|
||||
QueryDecommissionDiskDecoFailedDps = "/disk/queryDecommissionFailedDps"
|
||||
QueryBadDisks = "/disk/queryBadDisks"
|
||||
QueryDisks = "/disk/queryDisks"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user