region: 修复创建容器时没有 parse vmem_size 单位导致创建失败

This commit is contained in:
Zexi Li
2018-12-11 11:12:07 +08:00
parent dffb0737b4
commit 2b93c100d9
2 changed files with 17 additions and 3 deletions
+14
View File
@@ -26,6 +26,20 @@ func init() {
models.RegisterGuestDriver(&driver)
}
func (self *SContainerDriver) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
vmemSize, vcpuCount, err := models.ValidateMemCpuData(data)
if err != nil {
return nil, err
}
if vmemSize > 0 {
data.Add(jsonutils.NewInt(int64(vmemSize)), "vmem_size")
}
if vcpuCount > 0 {
data.Add(jsonutils.NewInt(int64(vcpuCount)), "vcpu_count")
}
return data, nil
}
func (self *SContainerDriver) newUnsupportOperationError(option string) error {
return httperrors.NewUnsupportOperationError("Container not support %s", option)
}
+3 -3
View File
@@ -586,7 +586,7 @@ func (guest *SGuest) ValidateResizeDisk(disk *SDisk, storage *SStorage) error {
return guest.GetDriver().ValidateResizeDisk(guest, disk, storage)
}
func validateMemCpuData(data jsonutils.JSONObject) (int, int, error) {
func ValidateMemCpuData(data jsonutils.JSONObject) (int, int, error) {
vmemSize := 0
vcpuCount := 0
var err error
@@ -626,7 +626,7 @@ func validateMemCpuData(data jsonutils.JSONObject) (int, int, error) {
}
func (self *SGuest) ValidateUpdateData(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
vmemSize, vcpuCount, err := validateMemCpuData(data)
vmemSize, vcpuCount, err := ValidateMemCpuData(data)
if err != nil {
return nil, err
}
@@ -740,7 +740,7 @@ func (manager *SGuestManager) ValidateCreateData(ctx context.Context, userCred m
data.Add(jsonutils.NewInt(int64(sku.MemorySizeMB)), "vmem_size")
data.Add(jsonutils.NewInt(int64(sku.CpuCoreCount)), "vcpu_count")
} else {
vmemSize, vcpuCount, err := validateMemCpuData(data)
vmemSize, vcpuCount, err := ValidateMemCpuData(data)
if err != nil {
return nil, err
}