From abf6ca2f91e3a67b738c2a4938b0652c85200e5b Mon Sep 17 00:00:00 2001 From: yangbaoqiang Date: Thu, 2 Dec 2021 23:01:15 +0800 Subject: [PATCH] fix(region): filter deleted storages In some situation, getValidStorages return deleted storage and the zone was deleted from remote(openstack or others). --- pkg/compute/models/storagecaches.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/storagecaches.go b/pkg/compute/models/storagecaches.go index 324ce17c3f..47287f40cc 100644 --- a/pkg/compute/models/storagecaches.go +++ b/pkg/compute/models/storagecaches.go @@ -84,7 +84,8 @@ func (self *SStoragecache) getValidStorages() []SStorage { q := StorageManager.Query() q = q.Equals("storagecache_id", self.Id). Filter(sqlchemy.In(q.Field("status"), []string{api.STORAGE_ENABLED, api.STORAGE_ONLINE})). - Filter(sqlchemy.IsTrue(q.Field("enabled"))) + Filter(sqlchemy.IsTrue(q.Field("enabled"))). + Filter(sqlchemy.IsFalse(q.Field("deleted"))) err := db.FetchModelObjects(StorageManager, q, &storages) if err != nil { return nil