mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #15709 from ioito/hotfix/qx-account-sync-status
fix(region): account sync status
This commit is contained in:
@@ -834,13 +834,11 @@ func (self *SCloudaccount) markStartSync(userCred mcclient.TokenCredential, sync
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SCloudaccount) MarkSyncing(userCred mcclient.TokenCredential, probe bool) error {
|
||||
func (self *SCloudaccount) MarkSyncing(userCred mcclient.TokenCredential) error {
|
||||
_, err := db.Update(self, func() error {
|
||||
self.SyncStatus = api.CLOUD_PROVIDER_SYNC_STATUS_SYNCING
|
||||
if !probe {
|
||||
self.LastSync = timeutils.UtcNow()
|
||||
self.LastSyncEndAt = time.Time{}
|
||||
}
|
||||
self.LastSync = timeutils.UtcNow()
|
||||
self.LastSyncEndAt = time.Time{}
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
@@ -865,15 +863,13 @@ func (self *SCloudaccount) MarkEndSyncWithLock(ctx context.Context, userCred mcc
|
||||
return errors.Error("some cloud providers not idle")
|
||||
}
|
||||
|
||||
return self.markEndSync(userCred, false)
|
||||
return self.markEndSync(userCred)
|
||||
}
|
||||
|
||||
func (self *SCloudaccount) markEndSync(userCred mcclient.TokenCredential, probe bool) error {
|
||||
func (self *SCloudaccount) markEndSync(userCred mcclient.TokenCredential) error {
|
||||
_, err := db.Update(self, func() error {
|
||||
self.SyncStatus = api.CLOUD_PROVIDER_SYNC_STATUS_IDLE
|
||||
if !probe {
|
||||
self.LastSyncEndAt = timeutils.UtcNow()
|
||||
}
|
||||
self.LastSyncEndAt = timeutils.UtcNow()
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
@@ -1882,7 +1878,6 @@ func (manager *SCloudaccountManager) AutoSyncCloudaccountStatusTask(ctx context.
|
||||
if err != nil {
|
||||
log.Errorf("unable to syncAccountStatus for cloudaccount %s: %s", account.Id, err.Error())
|
||||
}
|
||||
account.markEndSync(userCred, true)
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -2039,7 +2034,6 @@ func (self *SCloudaccount) setSubAccountStatus() error {
|
||||
}
|
||||
|
||||
func (account *SCloudaccount) syncAccountStatus(ctx context.Context, userCred mcclient.TokenCredential) error {
|
||||
account.MarkSyncing(userCred, true)
|
||||
subaccounts, err := account.probeAccountStatus(ctx, userCred)
|
||||
if err != nil {
|
||||
account.markAllProvidersDisconnected(ctx, userCred)
|
||||
|
||||
@@ -728,7 +728,7 @@ func (self *SCloudprovider) StartSyncCloudProviderInfoTask(ctx context.Context,
|
||||
return errors.Wrapf(err, "NewTask")
|
||||
}
|
||||
if cloudaccount, _ := self.GetCloudaccount(); cloudaccount != nil {
|
||||
cloudaccount.MarkSyncing(userCred, false)
|
||||
cloudaccount.MarkSyncing(userCred)
|
||||
}
|
||||
self.markStartSync(userCred, syncRange)
|
||||
db.OpsLog.LogEvent(self, db.ACT_SYNC_HOST_START, "", userCred)
|
||||
|
||||
@@ -40,7 +40,6 @@ func (self *CloudAccountSyncInfoTask) OnInit(ctx context.Context, obj db.IStanda
|
||||
cloudaccount := obj.(*models.SCloudaccount)
|
||||
|
||||
db.OpsLog.LogEvent(cloudaccount, db.ACT_SYNCING_HOST, "", self.UserCred)
|
||||
// cloudaccount.MarkSyncing(self.UserCred)
|
||||
|
||||
self.SetStage("OnCloudaccountSyncReady", nil)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user