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