fix(master): check if the cluster has resource to support req.VolStorageClass when create vol

Signed-off-by: true1064 <tangjingyu@oppo.com>
This commit is contained in:
true1064 2023-12-15 17:25:04 +08:00 committed by AmazingChi
parent f04993070b
commit d250c3041a
2 changed files with 14 additions and 3 deletions

View File

@ -2490,12 +2490,20 @@ func (m *Server) checkStorageClassForCreateVolReq(req *createVolReq) (err error)
log.LogInfof("[checkStorageClassForCreateVol] create vol(%v) volStorageClass(%v) set cacheDpStorageClass: %v",
req.name, proto.StorageClassString(req.volStorageClass), proto.StorageClassString(req.cacheDpStorageClass))
} else if !proto.IsValidStorageClass(req.volStorageClass) {
}
if !proto.IsValidStorageClass(req.volStorageClass) {
err = fmt.Errorf("invalid volStorageClass: %v", req.volStorageClass)
log.LogErrorf("[checkStorageClassForCreateVol] create vol(%v) err:%v", req.name, err.Error())
return err
}
if !resourceChecker.HasResourceOfStorageClass(req.volStorageClass) {
err = fmt.Errorf("cluster has no resoure to support volStorageClass(%v)", proto.StorageClassString(req.volStorageClass))
log.LogErrorf("action[checkStorageClassForCreateVol] create vol(%v) err: %v", req.name, err.Error())
return
}
log.LogInfof("[checkStorageClassForCreateVol] volStorageClass: %v", proto.StorageClassString(req.volStorageClass))
if len(req.allowedStorageClass) == 0 {
@ -2549,7 +2557,8 @@ func (m *Server) checkStorageClassForCreateVolReq(req *createVolReq) (err error)
}
}
log.LogInfof("[checkStorageClassForCreateVol] vol(%v) volStorageClass(%v) allowedStorageClass: %v", req.name, req.volStorageClass, req.allowedStorageClass)
log.LogInfof("[checkStorageClassForCreateVol] vol(%v) volStorageClass(%v) allowedStorageClass: %v",
req.name, req.volStorageClass, req.allowedStorageClass)
return nil
}

View File

@ -125,7 +125,9 @@ func createDefaultMasterServerForTest() *Server {
"logLevel":"DEBUG",
"walDir":"/tmp/cubefs/raft",
"storeDir":"/tmp/cubefs/rocksdbstore",
"clusterName":"cubefs"
"clusterName":"cubefs",
"bStoreAddr":"127.0.0.1:8500",
"bStoreServicePath":"access"
}`
testServer, err := createMasterServer(cfgJSON)