From aa24ef2b88ff0590c9130c212eb3c426e15ae239 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Fri, 23 Aug 2019 22:42:32 +0800 Subject: [PATCH] fix: pending usage not release after failed change config --- pkg/compute/tasks/disk_base_task.go | 10 ++++------ pkg/compute/tasks/guest_base_task.go | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/pkg/compute/tasks/disk_base_task.go b/pkg/compute/tasks/disk_base_task.go index e027388f8a..9e33a77542 100644 --- a/pkg/compute/tasks/disk_base_task.go +++ b/pkg/compute/tasks/disk_base_task.go @@ -39,12 +39,10 @@ func (self *SDiskBaseTask) SetStageFailed(ctx context.Context, reason string) { func (self *SDiskBaseTask) finalReleasePendingUsage(ctx context.Context) { pendingUsage := models.SQuota{} err := self.GetPendingUsage(&pendingUsage) - if err == nil { - if !pendingUsage.IsEmpty() { - disk := self.getDisk() - quotaPlatform := disk.GetQuotaPlatformID() - models.QuotaManager.CancelPendingUsage(ctx, self.UserCred, rbacutils.ScopeProject, disk.GetOwnerId(), quotaPlatform, &pendingUsage, &pendingUsage) - } + if err == nil && !pendingUsage.IsEmpty() { + disk := self.getDisk() + quotaPlatform := disk.GetQuotaPlatformID() + models.QuotaManager.CancelPendingUsage(ctx, self.UserCred, rbacutils.ScopeProject, disk.GetOwnerId(), quotaPlatform, &pendingUsage, &pendingUsage) } } diff --git a/pkg/compute/tasks/guest_base_task.go b/pkg/compute/tasks/guest_base_task.go index 2d6e0d6e45..7c9a0258a1 100644 --- a/pkg/compute/tasks/guest_base_task.go +++ b/pkg/compute/tasks/guest_base_task.go @@ -39,11 +39,9 @@ func (self *SGuestBaseTask) SetStageFailed(ctx context.Context, reason string) { func (self *SGuestBaseTask) finalReleasePendingUsage(ctx context.Context) { pendingUsage := models.SQuota{} err := self.GetPendingUsage(&pendingUsage) - if err != nil { - if !pendingUsage.IsEmpty() { - guest := self.getGuest() - quotaPlatform := guest.GetQuotaPlatformID() - models.QuotaManager.CancelPendingUsage(ctx, self.UserCred, rbacutils.ScopeProject, guest.GetOwnerId(), quotaPlatform, &pendingUsage, &pendingUsage) - } + if err == nil && !pendingUsage.IsEmpty() { + guest := self.getGuest() + quotaPlatform := guest.GetQuotaPlatformID() + models.QuotaManager.CancelPendingUsage(ctx, self.UserCred, rbacutils.ScopeProject, guest.GetOwnerId(), quotaPlatform, &pendingUsage, &pendingUsage) } }