feat(master): add forbid vol feature

Signed-off-by: NaturalSelect <2145973003@qq.com>
This commit is contained in:
NaturalSelect 2023-08-30 14:52:46 +08:00 committed by longerfly
parent 274b5d8c0a
commit 7c08fedcd8
4 changed files with 15 additions and 0 deletions

View File

@ -169,6 +169,7 @@ func formatSimpleVolView(svv *proto.SimpleVolView) string {
sb.WriteString(fmt.Sprintf(" Tx conflict retry num : %v\n", svv.TxConflictRetryNum))
sb.WriteString(fmt.Sprintf(" Tx conflict retry interval(ms) : %v\n", svv.TxConflictRetryInterval))
sb.WriteString(fmt.Sprintf(" Tx limit interval(s) : %v\n", svv.TxOpLimit))
sb.WriteString(fmt.Sprintf(" Forbidden : %v\n", svv.Forbidden))
sb.WriteString(fmt.Sprintf(" DisableAuditLog : %v\n", svv.DisableAuditLog))
sb.WriteString(fmt.Sprintf(" Forbidden : %v\n", svv.Forbidden))
sb.WriteString(fmt.Sprintf(" DpRepairBlockSize : %v\n", strutil.FormatSize(svv.DpRepairBlockSize)))

View File

@ -286,6 +286,9 @@ func (m *Server) registerAPIRoutes(router *mux.Router) {
router.NewRoute().Methods(http.MethodGet, http.MethodPost).
Path(proto.AdminClusterFreeze).
HandlerFunc(m.setupAutoAllocation)
router.NewRoute().Methods(http.MethodGet, http.MethodPost).
Path(proto.AdminVolForbidden).
HandlerFunc(m.forbidVolume)
router.NewRoute().Methods(http.MethodGet, http.MethodPost).
Path(proto.AdminVolEnableAuditLog).
HandlerFunc(m.setEnableAuditLogForVolume)

View File

@ -20,6 +20,8 @@ import (
"sync/atomic"
"time"
"github.com/cubefs/cubefs/util/log"
"github.com/cubefs/cubefs/proto"
"github.com/cubefs/cubefs/util/auditlog"
"github.com/cubefs/cubefs/util/errors"

View File

@ -391,6 +391,15 @@ func (api *AdminAPI) SetVolumeForbidden(volName string, forbidden bool) (err err
_, err = api.mc.serveRequest(request)
return
}
func (api *AdminAPI) SetVolumeForbidden(volName string, forbidden bool) (err error) {
request := newAPIRequest(http.MethodGet, proto.AdminVolForbidden)
request.addParam("name", volName)
request.addParam("forbidden", strconv.FormatBool(forbidden))
if _, err = api.mc.serveRequest(request); err != nil {
return
}
return
}
func (api *AdminAPI) SetVolumeAuditLog(volName string, enable bool) (err error) {
request := newRequest(post, proto.AdminVolEnableAuditLog).Header(api.h)