diff --git a/pkg/compute/guestdrivers/aliyun.go b/pkg/compute/guestdrivers/aliyun.go index 6d98706a27..78ab631a3b 100644 --- a/pkg/compute/guestdrivers/aliyun.go +++ b/pkg/compute/guestdrivers/aliyun.go @@ -52,7 +52,8 @@ func (self *SAliyunGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_ALIYUN - // ignore brand + keys.Brand = api.CLOUD_PROVIDER_ALIYUN + keys.Hypervisor = api.HYPERVISOR_ALIYUN return keys } diff --git a/pkg/compute/guestdrivers/aws.go b/pkg/compute/guestdrivers/aws.go index eb2cebe8ec..b7313450b7 100644 --- a/pkg/compute/guestdrivers/aws.go +++ b/pkg/compute/guestdrivers/aws.go @@ -99,7 +99,8 @@ func (self *SAwsGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, own keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_AWS - // ignore brand + keys.Brand = api.CLOUD_PROVIDER_AWS + keys.Hypervisor = api.HYPERVISOR_AWS return keys } diff --git a/pkg/compute/guestdrivers/azure.go b/pkg/compute/guestdrivers/azure.go index 77286f6592..3ed2f1c397 100644 --- a/pkg/compute/guestdrivers/azure.go +++ b/pkg/compute/guestdrivers/azure.go @@ -53,7 +53,8 @@ func (self *SAzureGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, o keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_AZURE - // ignore brand + keys.Brand = api.CLOUD_PROVIDER_AZURE + keys.Hypervisor = api.HYPERVISOR_AZURE return keys } diff --git a/pkg/compute/guestdrivers/baremetals.go b/pkg/compute/guestdrivers/baremetals.go index 9ecf495da1..f84a7cd60b 100644 --- a/pkg/compute/guestdrivers/baremetals.go +++ b/pkg/compute/guestdrivers/baremetals.go @@ -61,7 +61,7 @@ func (self *SBaremetalGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScop keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_ON_PREMISE keys.Provider = api.CLOUD_PROVIDER_ONECLOUD - // ignore brand + keys.Brand = api.ONECLOUD_BRAND_ONECLOUD keys.Hypervisor = api.HYPERVISOR_BAREMETAL return keys } diff --git a/pkg/compute/guestdrivers/container.go b/pkg/compute/guestdrivers/container.go index f66161329d..f0810c5680 100644 --- a/pkg/compute/guestdrivers/container.go +++ b/pkg/compute/guestdrivers/container.go @@ -63,6 +63,7 @@ func (self *SContainerDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, ow keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_ON_PREMISE keys.Provider = api.CLOUD_PROVIDER_ONECLOUD + keys.Brand = api.ONECLOUD_BRAND_ONECLOUD keys.Hypervisor = api.HYPERVISOR_CONTAINER return keys } diff --git a/pkg/compute/guestdrivers/ctyun.go b/pkg/compute/guestdrivers/ctyun.go index 5ef98841a8..a7db5a9ae2 100644 --- a/pkg/compute/guestdrivers/ctyun.go +++ b/pkg/compute/guestdrivers/ctyun.go @@ -44,7 +44,8 @@ func (self *SCtyunGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, o keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_CTYUN - // ignore brand + keys.Brand = api.CLOUD_PROVIDER_CTYUN + keys.Hypervisor = api.HYPERVISOR_CTYUN return keys } diff --git a/pkg/compute/guestdrivers/esxi.go b/pkg/compute/guestdrivers/esxi.go index 4ae510e395..13fc385dea 100644 --- a/pkg/compute/guestdrivers/esxi.go +++ b/pkg/compute/guestdrivers/esxi.go @@ -65,8 +65,8 @@ func (self *SESXiGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, ow keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_ON_PREMISE keys.Provider = api.CLOUD_PROVIDER_VMWARE - // ignore brand - // ignore hypervisor keys.Hypervisor = api.HYPERVISOR_ESXI + keys.Brand = api.CLOUD_PROVIDER_VMWARE + keys.Hypervisor = api.HYPERVISOR_ESXI return keys } diff --git a/pkg/compute/guestdrivers/google.go b/pkg/compute/guestdrivers/google.go index 841db708b9..c5df7cd972 100644 --- a/pkg/compute/guestdrivers/google.go +++ b/pkg/compute/guestdrivers/google.go @@ -36,7 +36,8 @@ func (self *SGoogleGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_GOOGLE - // ignore brand + keys.Brand = api.CLOUD_PROVIDER_GOOGLE + keys.Hypervisor = api.HYPERVISOR_GOOGLE return keys } diff --git a/pkg/compute/guestdrivers/huawei.go b/pkg/compute/guestdrivers/huawei.go index 3f96f196a2..e3b8718aee 100644 --- a/pkg/compute/guestdrivers/huawei.go +++ b/pkg/compute/guestdrivers/huawei.go @@ -50,7 +50,8 @@ func (self *SHuaweiGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_HUAWEI - // ignore brand + keys.Brand = api.CLOUD_PROVIDER_HUAWEI + keys.Hypervisor = api.HYPERVISOR_HUAWEI return keys } diff --git a/pkg/compute/guestdrivers/kvm.go b/pkg/compute/guestdrivers/kvm.go index 16f254a388..19352fb1f9 100644 --- a/pkg/compute/guestdrivers/kvm.go +++ b/pkg/compute/guestdrivers/kvm.go @@ -59,7 +59,7 @@ func (self *SKVMGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, own keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_ON_PREMISE keys.Provider = api.CLOUD_PROVIDER_ONECLOUD - // ignore brand keys.Brand = brand + keys.Brand = api.ONECLOUD_BRAND_ONECLOUD keys.Hypervisor = api.HYPERVISOR_KVM return keys } diff --git a/pkg/compute/guestdrivers/openstack.go b/pkg/compute/guestdrivers/openstack.go index 2f52011fa5..cf99d9f92f 100644 --- a/pkg/compute/guestdrivers/openstack.go +++ b/pkg/compute/guestdrivers/openstack.go @@ -69,6 +69,7 @@ func (self *SOpenStackGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScop keys.CloudEnv = api.CLOUD_ENV_PRIVATE_CLOUD keys.Provider = api.CLOUD_PROVIDER_OPENSTACK keys.Brand = brand + keys.Hypervisor = api.HYPERVISOR_OPENSTACK return keys } diff --git a/pkg/compute/guestdrivers/qcloud.go b/pkg/compute/guestdrivers/qcloud.go index 983510ec35..81c62c9fdc 100644 --- a/pkg/compute/guestdrivers/qcloud.go +++ b/pkg/compute/guestdrivers/qcloud.go @@ -52,8 +52,8 @@ func (self *SQcloudGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_QCLOUD - // ignore brand keys.Brand = brand - // ignore hypervisor + keys.Brand = api.CLOUD_PROVIDER_QCLOUD + keys.Hypervisor = api.HYPERVISOR_QCLOUD return keys } diff --git a/pkg/compute/guestdrivers/ucloud.go b/pkg/compute/guestdrivers/ucloud.go index b8b89c7920..a431f8f3c3 100644 --- a/pkg/compute/guestdrivers/ucloud.go +++ b/pkg/compute/guestdrivers/ucloud.go @@ -44,8 +44,8 @@ func (self *SUCloudGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, keys.SBaseQuotaKeys = quotas.OwnerIdQuotaKeys(scope, ownerId) keys.CloudEnv = api.CLOUD_ENV_PUBLIC_CLOUD keys.Provider = api.CLOUD_PROVIDER_UCLOUD - // ignore brand - // ignore hypervisor + keys.Brand = api.CLOUD_PROVIDER_UCLOUD + keys.Hypervisor = api.HYPERVISOR_UCLOUD return keys } diff --git a/pkg/compute/guestdrivers/zstack.go b/pkg/compute/guestdrivers/zstack.go index ee4a1492a2..5d8d11ea10 100644 --- a/pkg/compute/guestdrivers/zstack.go +++ b/pkg/compute/guestdrivers/zstack.go @@ -62,7 +62,7 @@ func (self *SZStackGuestDriver) GetComputeQuotaKeys(scope rbacutils.TRbacScope, keys.CloudEnv = api.CLOUD_ENV_PRIVATE_CLOUD keys.Provider = api.CLOUD_PROVIDER_ZSTACK keys.Brand = brand - // ignore hypervisor + keys.Hypervisor = api.HYPERVISOR_ZSTACK return keys } diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index dc5c00c6cf..4983c35b85 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -2943,6 +2943,7 @@ func (self *SGuest) PerformCreateEip(ctx context.Context, userCred mcclient.Toke eip, err := ElasticipManager.NewEipForVMOnHost(ctx, userCred, self, host, int(bw), chargeType, eipPendingUsage) if err != nil { + quotas.CancelPendingUsage(ctx, userCred, eipPendingUsage, eipPendingUsage) return nil, httperrors.NewGeneralError(err) }