diff --git a/pkg/compute/models/initdb.go b/pkg/compute/models/initdb.go index a81d7e75a4..587d3f7271 100644 --- a/pkg/compute/models/initdb.go +++ b/pkg/compute/models/initdb.go @@ -61,6 +61,7 @@ func InitDB() error { ScheduledTaskActivityManager, ExternalProjectManager, CachedimageManager, + StoragecachedimageManager, } { err := manager.InitializeData() if err != nil { diff --git a/pkg/compute/models/storagecachedimages.go b/pkg/compute/models/storagecachedimages.go index 8d09cfd085..9a35cd70e3 100644 --- a/pkg/compute/models/storagecachedimages.go +++ b/pkg/compute/models/storagecachedimages.go @@ -545,3 +545,22 @@ func (manager *SStoragecachedimageManager) OrderByExtraFields( return q, nil } + +func (manager *SStoragecachedimageManager) InitializeData() error { + images := []SStoragecachedimage{} + q := manager.Query().Equals("status", "ready") + err := db.FetchModelObjects(manager, q, &images) + if err != nil { + return errors.Wrapf(err, "db.FetchModelObjects") + } + for i := range images { + _, err := db.Update(&images[i], func() error { + images[i].Status = api.CACHED_IMAGE_STATUS_ACTIVE + return nil + }) + if err != nil { + return errors.Wrapf(err, "db.Update(%d)", images[i].RowId) + } + } + return nil +}