huawei secgroup default vpc id fix

This commit is contained in:
TangBin
2020-02-27 17:49:21 +08:00
parent d4417f8027
commit 439d2a316e
5 changed files with 33 additions and 13 deletions
+1
View File
@@ -38,6 +38,7 @@ func InitDB() error {
WireManager,
StorageManager,
SecurityGroupManager,
SecurityGroupCacheManager,
NetworkManager,
LoadbalancerCertificateManager,
LoadbalancerAclManager,
+24
View File
@@ -350,3 +350,27 @@ func (self *SSecurityGroupCache) StartSecurityGroupCacheDeleteTask(ctx context.C
task.ScheduleRun(nil)
return nil
}
func (manager *SSecurityGroupCacheManager) InitializeData() error {
providerIds := CloudproviderManager.Query("id").In("provider", []string{api.CLOUD_PROVIDER_HUAWEI, api.CLOUD_PROVIDER_CTYUN}).SubQuery()
deprecatedSecgroups := []SSecurityGroupCache{}
q := manager.Query().In("manager_id", providerIds).NotEquals("vpc_id", api.NORMAL_VPC_ID)
err := db.FetchModelObjects(manager, q, &deprecatedSecgroups)
if err != nil && err != sql.ErrNoRows {
return errors.Wrap(err, "SSecurityGroupCacheManager.InitializeData.Query")
}
for i := range deprecatedSecgroups {
cache := &deprecatedSecgroups[i]
_, err := db.Update(cache, func() error {
return cache.MarkDelete()
})
if err != nil {
return errors.Wrap(err, "SSecurityGroupCacheManager.InitializeData.Query")
}
}
log.Debugf("SSecurityGroupCacheManager cleaned %d deprecated security group cache.", len(deprecatedSecgroups))
return nil
}