From 2b93c100d92b9a08f8bf8457c746ab38c9b68451 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Tue, 11 Dec 2018 11:12:07 +0800 Subject: [PATCH] =?UTF-8?q?region:=20=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=E6=97=B6=E6=B2=A1=E6=9C=89=20parse=20vmem=5F?= =?UTF-8?q?size=20=E5=8D=95=E4=BD=8D=E5=AF=BC=E8=87=B4=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/guestdrivers/container.go | 14 ++++++++++++++ pkg/compute/models/guests.go | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/pkg/compute/guestdrivers/container.go b/pkg/compute/guestdrivers/container.go index 431ce30468..1aececca16 100644 --- a/pkg/compute/guestdrivers/container.go +++ b/pkg/compute/guestdrivers/container.go @@ -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) } diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index c504245adf..352012aa0b 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -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 }