Merge pull request #8857 from wy65701436/fix-syne-readonly

fix quota sync read only setting
This commit is contained in:
Qian Deng 2019-08-28 17:04:02 +08:00 committed by GitHub
commit ed54b1da45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -21,15 +21,12 @@ import (
"github.com/goharbor/harbor/src/common/models"
common_quota "github.com/goharbor/harbor/src/common/quota"
"github.com/goharbor/harbor/src/common/utils/log"
"github.com/goharbor/harbor/src/core/config"
"github.com/goharbor/harbor/src/jobservice/logger"
"github.com/pkg/errors"
"strconv"
quota "github.com/goharbor/harbor/src/core/api/quota"
comcfg "github.com/goharbor/harbor/src/common/config"
)
// InternalAPI handles request of harbor admin...
@ -157,16 +154,16 @@ func (ia *InternalAPI) ensureQuota() error {
// SyncQuota ...
func (ia *InternalAPI) SyncQuota() {
cur := config.ReadOnly()
cfgMgr := comcfg.NewDBCfgManager()
if cur != true {
cfgMgr := config.GetCfgManager()
if !cur {
cfgMgr.Set(common.ReadOnly, true)
cfgMgr.Save()
}
// For api call, to avoid the timeout, it should be asynchronous
go func() {
defer func() {
if cur != true {
cfgMgr.Set(common.ReadOnly, false)
}
cfgMgr.Set(common.ReadOnly, cur)
cfgMgr.Save()
}()
log.Info("start to sync quota(API), the system will be set to ReadOnly and back it normal once it done.")
err := quota.Sync(ia.ProjectMgr, false)