Automatic merge from release/2.8.0 -> master

* commit '50dd610b6099b69f75e273da7546adafab4d4d88':
  create private sku fix
  skus add local category
This commit is contained in:
周有松
2019-03-26 17:29:03 +08:00
2 changed files with 25 additions and 2 deletions
+1
View File
@@ -29,6 +29,7 @@ func InitDB() error {
LoadbalancerBackendManager,
SchedtagManager,
DynamicschedtagManager,
ServerSkuManager,
} {
err := manager.InitializeData()
if err != nil {
+24 -2
View File
@@ -77,8 +77,9 @@ type SServerSku struct {
db.SStandaloneResourceBase
// SkuId string `width:"64" charset:"ascii" nullable:"false" list:"user" create:"admin_required"` // x2.large
InstanceTypeFamily string `width:"32" charset:"ascii" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // x2
InstanceTypeCategory string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // 通用型
InstanceTypeFamily string `width:"32" charset:"ascii" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // x2
InstanceTypeCategory string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // 通用型
LocalCategory string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin" default:""` // 记录本地分类
PrepaidStatus string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin" default:"available"` // 预付费资源状态 available|soldout
PostpaidStatus string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin" default:"available"` // 按需付费资源状态 available|soldout
@@ -338,6 +339,7 @@ func (self *SServerSkuManager) ValidateCreateData(ctx context.Context,
if !exists {
return nil, httperrors.NewInputParameterError("instance_type_category %s is invalid", category)
}
data.Add(jsonutils.NewString(category),"local_category")
data.Set("instance_type_family", jsonutils.NewString(family))
// 格式 ecs.g1.c1m1
@@ -1065,3 +1067,23 @@ func (manager *SServerSkuManager) FetchAllAvailableSkuIdByZoneId(zoneId string)
return ids, nil
}
func (manager *SServerSkuManager) InitializeData() error {
privateSkus := make([]SServerSku, 0)
err := manager.Query().IsNullOrEmpty("local_category").IsNullOrEmpty("zone_id").All(&privateSkus)
if err != nil {
return err
}
for _, sku := range privateSkus {
_, err = manager.TableSpec().Update(&sku, func() error {
sku.LocalCategory = sku.InstanceTypeCategory
return nil
})
if err != nil {
return err
}
}
return nil
}