Merge pull request #9202 from tb365/bugfix/tb-bugfix-1204

Bugfix/tb bugfix 1204
This commit is contained in:
Zexi Li
2020-12-07 10:23:44 +08:00
committed by GitHub
3 changed files with 8 additions and 43 deletions
+3
View File
@@ -134,6 +134,9 @@ type ServerSkuDetails struct {
SServerSku
// 云环境
CloudEnv string `json:"cloud_env"`
// 绑定云主机数量
TotalGuestCount int `json:"total_guest_count"`
}
+2 -40
View File
@@ -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()
}
+3 -3
View File
@@ -89,7 +89,7 @@ func (self *SSkuResourcesMeta) GetDBInstanceSkusByRegionExternalId(regionExterna
if len(sku.Zone1) > 0 {
zoneId := self.getZoneIdBySuffix(zoneMaps, sku.Zone1) // Huawei rds sku zone1 maybe is cn-north-4f
if len(zoneId) == 0 {
log.Errorf("invalid sku %s(%s) %s zone1: %s", sku.Name, sku.Id, sku.CloudregionId, sku.Zone1)
log.Warningf("invalid sku %s(%s) %s zone1: %s", sku.Name, sku.Id, sku.CloudregionId, sku.Zone1)
continue
}
sku.Zone1 = zoneId
@@ -98,7 +98,7 @@ func (self *SSkuResourcesMeta) GetDBInstanceSkusByRegionExternalId(regionExterna
if len(sku.Zone2) > 0 {
zoneId := self.getZoneIdBySuffix(zoneMaps, sku.Zone2)
if len(zoneId) == 0 {
log.Errorf("invalid sku %s(%s) %s zone2: %s", sku.Name, sku.Id, sku.CloudregionId, sku.Zone2)
log.Warningf("invalid sku %s(%s) %s zone2: %s", sku.Name, sku.Id, sku.CloudregionId, sku.Zone2)
continue
}
sku.Zone2 = zoneId
@@ -107,7 +107,7 @@ func (self *SSkuResourcesMeta) GetDBInstanceSkusByRegionExternalId(regionExterna
if len(sku.Zone3) > 0 {
zoneId := self.getZoneIdBySuffix(zoneMaps, sku.Zone3)
if len(zoneId) == 0 {
log.Errorf("invalid sku %s(%s) %s zone3: %s", sku.Name, sku.Id, sku.CloudregionId, sku.Zone3)
log.Warningf("invalid sku %s(%s) %s zone3: %s", sku.Name, sku.Id, sku.CloudregionId, sku.Zone3)
continue
}
sku.Zone3 = zoneId