From 568e6ae387644c33bedf8c2e001c06353200a7a5 Mon Sep 17 00:00:00 2001 From: ioito Date: Mon, 15 Jul 2019 16:33:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=BF=E5=85=8D=E8=AE=BE=E7=BD=AEdisable?= =?UTF-8?q?=E7=9A=84cloudproviderregion=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/cloudproviderregions.go | 10 ++++++++++ pkg/compute/models/cloudproviders.go | 16 ++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/pkg/compute/models/cloudproviderregions.go b/pkg/compute/models/cloudproviderregions.go index f47887ef38..a08602fb9b 100644 --- a/pkg/compute/models/cloudproviderregions.go +++ b/pkg/compute/models/cloudproviderregions.go @@ -17,6 +17,7 @@ package models import ( "context" "database/sql" + "fmt" "math/rand" "time" @@ -223,6 +224,9 @@ func (manager *SCloudproviderregionManager) FetchByIdsOrCreate(providerId string } func (self *SCloudproviderregion) markStartingSync(userCred mcclient.TokenCredential) error { + if !self.Enabled { + return fmt.Errorf("Cloudprovider(%s)region(%s) disabled", self.CloudproviderId, self.CloudregionId) + } _, err := db.Update(self, func() error { self.SyncStatus = compute.CLOUD_PROVIDER_SYNC_STATUS_QUEUING return nil @@ -235,6 +239,9 @@ func (self *SCloudproviderregion) markStartingSync(userCred mcclient.TokenCreden } func (self *SCloudproviderregion) markStartSync(userCred mcclient.TokenCredential) error { + if !self.Enabled { + return fmt.Errorf("Cloudprovider(%s)region(%s) disabled", self.CloudproviderId, self.CloudregionId) + } _, err := db.Update(self, func() error { self.SyncStatus = compute.CLOUD_PROVIDER_SYNC_STATUS_QUEUED return nil @@ -247,6 +254,9 @@ func (self *SCloudproviderregion) markStartSync(userCred mcclient.TokenCredentia } func (self *SCloudproviderregion) markSyncing(userCred mcclient.TokenCredential) error { + if !self.Enabled { + return fmt.Errorf("Cloudprovider(%s)region(%s) disabled", self.CloudproviderId, self.CloudregionId) + } _, err := db.Update(self, func() error { self.SyncStatus = compute.CLOUD_PROVIDER_SYNC_STATUS_SYNCING self.LastSync = timeutils.UtcNow() diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index de0e367d90..5a7e9872cd 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -591,9 +591,11 @@ func (self *SCloudprovider) markStartingSync(userCred mcclient.TokenCredential) } cprs := self.GetCloudproviderRegions() for i := range cprs { - err := cprs[i].markStartingSync(userCred) - if err != nil { - return errors.Wrap(err, "cprs[i].markStartingSync") + if cprs[i].Enabled { + err := cprs[i].markStartingSync(userCred) + if err != nil { + return errors.Wrap(err, "cprs[i].markStartingSync") + } } } return nil @@ -610,9 +612,11 @@ func (self *SCloudprovider) markStartSync(userCred mcclient.TokenCredential) err } cprs := self.GetCloudproviderRegions() for i := range cprs { - err := cprs[i].markStartingSync(userCred) - if err != nil { - return errors.Wrap(err, "cprs[i].markStartingSync") + if cprs[i].Enabled { + err := cprs[i].markStartingSync(userCred) + if err != nil { + return errors.Wrap(err, "cprs[i].markStartingSync") + } } } return nil