mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #9793 from tb365/bugfix/tb-bugfix-010720
feat(region): server sku os_arch & cpu_arch checking
This commit is contained in:
@@ -1324,6 +1324,13 @@ func (manager *SGuestManager) validateCreateData(
|
||||
}
|
||||
log.Debugf("ROOT DISK: %#v", rootDiskConfig)
|
||||
input.Disks[0] = rootDiskConfig
|
||||
if sku != nil {
|
||||
if len(rootDiskConfig.OsArch) >= 0 && len(sku.CpuArch) >= 0 {
|
||||
if strings.Contains(rootDiskConfig.OsArch, sku.CpuArch) {
|
||||
return nil, httperrors.NewConflictError("root disk image(%s) and sku(%s) architecture mismatch", rootDiskConfig.OsArch, sku.CpuArch)
|
||||
}
|
||||
}
|
||||
}
|
||||
//data.Set("disk.0", jsonutils.Marshal(rootDiskConfig))
|
||||
|
||||
for i := 0; i < len(dataDiskDefs); i += 1 {
|
||||
|
||||
@@ -88,8 +88,9 @@ type SServerSku struct {
|
||||
PrepaidStatus string `width:"32" charset:"utf8" nullable:"true" list:"user" create:"admin_optional" default:"available"` // 预付费资源状态 available|soldout
|
||||
PostpaidStatus string `width:"32" charset:"utf8" nullable:"true" list:"user" create:"admin_optional" default:"available"` // 按需付费资源状态 available|soldout
|
||||
|
||||
CpuCoreCount int `nullable:"false" list:"user" create:"admin_required"`
|
||||
MemorySizeMB int `nullable:"false" list:"user" create:"admin_required"`
|
||||
CpuArch string `width:"16" charset:"ascii" nullable:"true" list:"user" create:"admin_optional" update:"admin"` // CPU 架构 x86|xarm
|
||||
CpuCoreCount int `nullable:"false" list:"user" create:"admin_required"`
|
||||
MemorySizeMB int `nullable:"false" list:"user" create:"admin_required"`
|
||||
|
||||
OsName string `width:"32" charset:"ascii" nullable:"true" list:"user" create:"admin_optional" update:"admin" default:"Any"` // Windows|Linux|Any
|
||||
|
||||
@@ -1171,6 +1172,7 @@ func (self *SServerSku) syncWithCloudSku(ctx context.Context, userCred mcclient.
|
||||
self.InstanceTypeCategory = extSku.InstanceTypeCategory
|
||||
self.PrepaidStatus = extSku.PrepaidStatus
|
||||
self.PostpaidStatus = extSku.PostpaidStatus
|
||||
self.CpuArch = extSku.CpuArch
|
||||
self.SysDiskType = extSku.SysDiskType
|
||||
self.DataDiskTypes = extSku.DataDiskTypes
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user