mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #4119 from swordqiu/hotfix/qj-image-quota-list-not-found
fix: 1. image-quota-list 404 not found 2. usage nil pointer panic
This commit is contained in:
@@ -291,11 +291,47 @@ func init() {
|
||||
}
|
||||
R(&CleanPendingUsageOptions{}, "clean-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
log.Debugf("%s", params)
|
||||
_, err := modules.Quotas.DoCleanPendingUsage(s, params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&CleanPendingUsageOptions{}, "clean-region-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
_, err := modules.RegionQuotas.DoCleanPendingUsage(s, params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&CleanPendingUsageOptions{}, "clean-zone-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
_, err := modules.ZoneQuotas.DoCleanPendingUsage(s, params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&CleanPendingUsageOptions{}, "clean-project-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
_, err := modules.ProjectQuotas.DoCleanPendingUsage(s, params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&CleanPendingUsageOptions{}, "clean-image-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
_, err := modules.ImageQuotas.DoCleanPendingUsage(s, params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
@@ -30,6 +30,9 @@ func rangeObjectsFilter(q *sqlchemy.SQuery, rangeObjs []db.IStandaloneModel, reg
|
||||
}
|
||||
|
||||
func rangeObjFilter(q *sqlchemy.SQuery, rangeObj db.IStandaloneModel, regionField sqlchemy.IQueryField, zoneField sqlchemy.IQueryField, managerField sqlchemy.IQueryField) *sqlchemy.SQuery {
|
||||
if rangeObj == nil {
|
||||
return q
|
||||
}
|
||||
kw := rangeObj.Keyword()
|
||||
switch kw {
|
||||
case "zone":
|
||||
|
||||
@@ -116,7 +116,11 @@ func rangeObjHandler(
|
||||
providers := json.GetQueryStringArray(query, "provider")
|
||||
brands := json.GetQueryStringArray(query, "brand")
|
||||
cloudEnv, _ := query.GetString("cloud_env")
|
||||
usage, err := reporter(scope, ownerId, isOwner, []db.IStandaloneModel{obj}, hostTypes, providers, brands, cloudEnv)
|
||||
var rangeObjs []db.IStandaloneModel
|
||||
if obj != nil {
|
||||
rangeObjs = []db.IStandaloneModel{obj}
|
||||
}
|
||||
usage, err := reporter(scope, ownerId, isOwner, rangeObjs, hostTypes, providers, brands, cloudEnv)
|
||||
if err != nil {
|
||||
httperrors.GeneralServerError(w, err)
|
||||
return
|
||||
|
||||
@@ -79,9 +79,9 @@ func (this *QuotaManager) GetQuotaList(s *mcclient.ClientSession, params jsonuti
|
||||
var reqUrl string
|
||||
domainId := jsonutils.GetAnyString(params, []string{"domain", "project_domain", "domain_id", "project_domain_id"})
|
||||
if len(domainId) > 0 {
|
||||
reqUrl = "/quotas/projects?project_domain=" + domainId
|
||||
reqUrl = fmt.Sprintf("%s/projects?project_domain=%s", this.URLPath(), domainId)
|
||||
} else {
|
||||
reqUrl = "/quotas/domains"
|
||||
reqUrl = fmt.Sprintf("%s/domains", this.URLPath())
|
||||
}
|
||||
computeQuotaList, err := modulebase.List(this.ResourceManager, s, reqUrl, this.KeywordPlural)
|
||||
if err != nil {
|
||||
@@ -148,7 +148,7 @@ func init() {
|
||||
[]string{})}
|
||||
registerCompute(&ZoneQuotas)
|
||||
|
||||
ImageQuotas = QuotaManager{NewImageManager("quota", "quotas",
|
||||
ImageQuotas = QuotaManager{NewImageManager("image_quota", "image_quotas",
|
||||
quotaColumns,
|
||||
[]string{})}
|
||||
// registerV2(&ImageQuotas)
|
||||
|
||||
Reference in New Issue
Block a user