diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index 7a430d6f89..ebd9e16064 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -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) diff --git a/pkg/compute/models/cloudproviderregions.go b/pkg/compute/models/cloudproviderregions.go index 703e3aa374..cceb45dedf 100644 --- a/pkg/compute/models/cloudproviderregions.go +++ b/pkg/compute/models/cloudproviderregions.go @@ -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 } diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index 9638677022..99fe57d638 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -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