mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 14:19:49 +08:00
Merge pull request #402 from ioito/hotfix/qx-auto-sync-time
Hotfix/qx auto sync time
This commit is contained in:
@@ -63,6 +63,7 @@ type SCloudaccount struct {
|
||||
db.SEnabledStatusStandaloneResourceBase
|
||||
|
||||
SSyncableBaseResource
|
||||
LastAutoSync time.Time `list:"admin"`
|
||||
|
||||
AccessUrl string `width:"64" charset:"ascii" nullable:"true" list:"admin" update:"admin" create:"admin_optional"`
|
||||
|
||||
@@ -438,7 +439,7 @@ func (self *SCloudaccount) markStartSync(userCred mcclient.TokenCredential) erro
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markStartSync error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -452,7 +453,7 @@ func (self *SCloudaccount) MarkSyncing(userCred mcclient.TokenCredential) error
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to MarkSyncing error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -482,7 +483,7 @@ func (self *SCloudaccount) markEndSync(userCred mcclient.TokenCredential) error
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markEndSync error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -1097,7 +1098,7 @@ func (manager *SCloudaccountManager) AutoSyncCloudaccountTask(ctx context.Contex
|
||||
accounts := make([]SCloudaccount, 0)
|
||||
err := db.FetchModelObjects(manager, q, &accounts)
|
||||
if err != nil {
|
||||
log.Errorf("fail to fetch cloudaccount list to check status")
|
||||
log.Errorf("Failed to fetch cloudaccount list to check status")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1149,7 +1150,7 @@ func (account *SCloudaccount) probeAccountStatus(ctx context.Context, userCred m
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("fail to update db %s", err)
|
||||
log.Errorf("Failed to update db %s", err)
|
||||
} else {
|
||||
db.OpsLog.LogSyncUpdate(account, diff, userCred)
|
||||
}
|
||||
@@ -1198,6 +1199,18 @@ func (account *SCloudaccount) syncAccountStatus(ctx context.Context, userCred mc
|
||||
return nil
|
||||
}
|
||||
|
||||
func (account *SCloudaccount) markAutoSync(userCred mcclient.TokenCredential) error {
|
||||
_, err := db.Update(account, func() error {
|
||||
account.LastAutoSync = timeutils.UtcNow()
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Failed to markAutoSync error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (account *SCloudaccount) SubmitSyncAccountTask(ctx context.Context, userCred mcclient.TokenCredential, waitChan chan error, autoSync bool) {
|
||||
RunSyncCloudAccountTask(func() {
|
||||
log.Debugf("syncAccountStatus %s %s", account.Id, account.Name)
|
||||
@@ -1211,6 +1224,7 @@ func (account *SCloudaccount) SubmitSyncAccountTask(ctx context.Context, userCre
|
||||
syncCnt := 0
|
||||
if err == nil && autoSync && account.Enabled && account.EnableAutoSync {
|
||||
syncRange := SSyncRange{FullSync: true}
|
||||
account.markAutoSync(userCred)
|
||||
providers := account.GetEnabledCloudproviders()
|
||||
for i := range providers {
|
||||
providers[i].syncCloudproviderRegions(ctx, userCred, syncRange, nil, autoSync)
|
||||
|
||||
@@ -199,7 +199,7 @@ func (self *SCloudproviderregion) markStartSync(userCred mcclient.TokenCredentia
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markStartSync error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -213,7 +213,7 @@ func (self *SCloudproviderregion) markSyncing(userCred mcclient.TokenCredential)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markSyncing error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -243,7 +243,7 @@ func (self *SCloudproviderregion) markEndSyncInternal(userCred mcclient.TokenCre
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markEndSyncInternal error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -275,7 +275,7 @@ func (self *SCloudproviderregion) DoSync(ctx context.Context, userCred mcclient.
|
||||
provider := self.GetProvider()
|
||||
driver, err := provider.GetProvider()
|
||||
if err != nil {
|
||||
log.Errorf("fail to get driver, connection problem?")
|
||||
log.Errorf("Failed to get driver, connection problem?")
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -497,7 +497,7 @@ func (self *SCloudprovider) markStartSync(userCred mcclient.TokenCredential) err
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markStartSync error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -511,7 +511,7 @@ func (self *SCloudprovider) markSyncing(userCred mcclient.TokenCredential) error
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markSyncing error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -551,7 +551,7 @@ func (self *SCloudprovider) markEndSync(userCred mcclient.TokenCredential) error
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Errorf("Fail tp update last_sync %s", err)
|
||||
log.Errorf("Failed to markEndSync error: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user