From 8dcd685e46109e821a686a73d83068f22ed25ae9 Mon Sep 17 00:00:00 2001 From: TangBin Date: Fri, 4 Dec 2020 15:25:52 +0800 Subject: [PATCH] fix(region): server skus add cloud_env --- pkg/apis/compute/serversku.go | 3 +++ pkg/compute/models/skus.go | 42 ++--------------------------------- 2 files changed, 5 insertions(+), 40 deletions(-) diff --git a/pkg/apis/compute/serversku.go b/pkg/apis/compute/serversku.go index a401bf713f..43242ab4fa 100644 --- a/pkg/apis/compute/serversku.go +++ b/pkg/apis/compute/serversku.go @@ -134,6 +134,9 @@ type ServerSkuDetails struct { SServerSku + // 云环境 + CloudEnv string `json:"cloud_env"` + // 绑定云主机数量 TotalGuestCount int `json:"total_guest_count"` } diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index a323c05751..f5e036e833 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -215,46 +215,6 @@ func skuRelatedGuestCount(self *SServerSku) (int, error) { return q.CountWithError() } -func getNameAndExtId(resId string, manager db.IModelManager) (string, string, error) { - nKey := resId + ".Name" - eKey := resId + ".ExtId" - name := Cache.Get(nKey) - extId := Cache.Get(eKey) - if name == nil || extId == nil { - imodel, err := manager.FetchById(resId) - if err != nil { - return "", "", err - } - - _name := imodel.GetName() - segs := strings.Split(_name, " ") - if len(segs) > 1 { - name = strings.Join(segs[1:], " ") - } else { - name = _name - } - - _extId := "" - if region, ok := imodel.(*SCloudregion); ok { - _extId = region.ExternalId - } else if zone, ok := imodel.(*SZone); ok { - _extId = zone.ExternalId - } else { - return "", "", fmt.Errorf("res %s not a region/zone resource", resId) - } - - segs = strings.Split(_extId, "/") - if len(segs) > 0 { - extId = segs[len(segs)-1] - } - - Cache.Set(nKey, name) - Cache.Set(eKey, extId) - } - - return name.(string), extId.(string), nil -} - func (self *SServerSkuManager) AllowListItems(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool { return true } @@ -307,6 +267,8 @@ func (manager *SServerSkuManager) FetchCustomizeColumns( if len(rows[i].Zone) == 0 { rows[i].CloudregionResourceInfo = regRows[i] } + + rows[i].CloudEnv = strings.Split(zoneRows[i].RegionExtId, "/")[0] rows[i].TotalGuestCount = objs[i].(*SServerSku).getTotalGuestCount() }