Merge pull request #5540 from ioito/hotfix/qx-account-delete

fix: 修复删除账号失败问题
This commit is contained in:
yunion-ci-robot
2020-03-17 18:39:15 +08:00
committed by GitHub
4 changed files with 21 additions and 4 deletions
+1 -1
View File
@@ -621,7 +621,7 @@ func (manager *SElasticcacheManager) newFromCloudElasticcache(ctx context.Contex
func (manager *SElasticcacheManager) getElasticcachesByProviderId(providerId string) ([]SElasticcache, error) {
instances := []SElasticcache{}
err := fetchByManagerId(manager, providerId, &instances)
err := fetchByVpcManagerId(manager, providerId, &instances)
if err != nil {
return nil, errors.Wrapf(err, "getElasticcachesByProviderId.fetchByManagerId")
}
+17
View File
@@ -689,3 +689,20 @@ func fetchByManagerId(manager db.IModelManager, providerId string, receiver inte
q := manager.Query().Equals("manager_id", providerId)
return db.FetchModelObjects(manager, q, receiver)
}
func fetchByVpcManagerId(manager db.IModelManager, providerId string, receiver interface{}) error {
vpc := VpcManager.Query().SubQuery()
q := manager.Query()
q = q.Join(vpc, sqlchemy.Equals(vpc.Field("id"), q.Field("vpc_id"))).Filter(sqlchemy.Equals(vpc.Field("manager_id"), providerId))
return db.FetchModelObjects(manager, q, receiver)
}
func fetchByLbVpcManagerId(manager db.IModelManager, providerId string, receiver interface{}) error {
vpc := VpcManager.Query().SubQuery()
lb := LoadbalancerManager.Query().SubQuery()
q := manager.Query()
q = q.Join(lb, sqlchemy.Equals(lb.Field("id"), q.Field("loadbalancer_id"))).
Join(vpc, sqlchemy.Equals(vpc.Field("id"), lb.Field("vpc_id"))).
Filter(sqlchemy.Equals(vpc.Field("manager_id"), providerId))
return db.FetchModelObjects(manager, q, receiver)
}
+1 -1
View File
@@ -212,7 +212,7 @@ func (self *SNatGateway) extractEipAddr(q *sqlchemy.SQuery) ([]string, error) {
func (manager *SNatGatewayManager) getNatgatewaysByProviderId(providerId string) ([]SNatGateway, error) {
nats := []SNatGateway{}
err := fetchByManagerId(manager, providerId, &nats)
err := fetchByVpcManagerId(manager, providerId, &nats)
if err != nil {
return nil, err
}
+2 -2
View File
@@ -217,7 +217,7 @@ func (lbacl *SCachedLoadbalancerAcl) purge(ctx context.Context, userCred mcclien
func (manager *SLoadbalancerBackendGroupManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error {
lbbgs := make([]SLoadbalancerBackendGroup, 0)
err := fetchByManagerId(manager, providerId, &lbbgs)
err := fetchByLbVpcManagerId(manager, providerId, &lbbgs)
if err != nil {
return err
}
@@ -232,7 +232,7 @@ func (manager *SLoadbalancerBackendGroupManager) purgeAll(ctx context.Context, u
func (manager *SLoadbalancerManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error {
lbs := make([]SLoadbalancer, 0)
err := fetchByManagerId(manager, providerId, &lbs)
err := fetchByVpcManagerId(manager, providerId, &lbs)
if err != nil {
return err
}