mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Automatic merge from release/2.6.0 -> release/2.7.0
* commit '2347404b3c41bab65cd1a9513983c0b34642e82d': 去除调试信息 避免过滤cloudprovider失效
This commit is contained in:
@@ -46,7 +46,7 @@ func (self *SKVMHostDriver) CheckAndSetCacheImage(ctx context.Context, host *mod
|
||||
return err
|
||||
}
|
||||
cacheImage := obj.(*models.SCachedimage)
|
||||
srcHostCacheImage, err := cacheImage.ChooseSourceStoragecacheInRange(models.HOST_TYPE_HYPERVISOR, []string{host.Id}, []*models.SZone{host.GetZone()})
|
||||
srcHostCacheImage, err := cacheImage.ChooseSourceStoragecacheInRange(models.HOST_TYPE_HYPERVISOR, []string{host.Id}, []interface{}{host.GetZone()})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ func (self *SCachedimage) addRefCount() {
|
||||
}
|
||||
}
|
||||
|
||||
func (self *SCachedimage) ChooseSourceStoragecacheInRange(hostType string, excludes []string, rangeObjs interface{}) (*SStoragecachedimage, error) {
|
||||
func (self *SCachedimage) ChooseSourceStoragecacheInRange(hostType string, excludes []string, rangeObjs []interface{}) (*SStoragecachedimage, error) {
|
||||
storageCachedImage := StoragecachedimageManager.Query().SubQuery()
|
||||
storage := StorageManager.Query().SubQuery()
|
||||
hostStorage := HoststorageManager.Query().SubQuery()
|
||||
@@ -346,16 +346,15 @@ func (self *SCachedimage) ChooseSourceStoragecacheInRange(hostType string, exclu
|
||||
q = q.Filter(sqlchemy.Equals(host.Field("host_type"), hostType))
|
||||
}
|
||||
|
||||
switch v := rangeObjs.(type) {
|
||||
case []*SZone:
|
||||
for _, obj := range v {
|
||||
q = q.Filter(sqlchemy.Equals(host.Field("zone_id"), obj.Id))
|
||||
}
|
||||
case []*SCloudprovider:
|
||||
for _, obj := range v {
|
||||
q = q.Filter(sqlchemy.Equals(host.Field("manager_id"), obj.Id))
|
||||
for _, rangeObj := range rangeObjs {
|
||||
switch v := rangeObj.(type) {
|
||||
case *SZone:
|
||||
q = q.Filter(sqlchemy.Equals(host.Field("zone_id"), v.Id))
|
||||
case *SCloudprovider:
|
||||
q = q.Filter(sqlchemy.Equals(host.Field("manager_id"), v.Id))
|
||||
}
|
||||
}
|
||||
|
||||
err := db.FetchModelObjects(StoragecachedimageManager, q, &scimgs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user