Merge pull request #16167 from ioito/hotfix/qx-lb-project-id

fix(region): lb project id
This commit is contained in:
Zexi Li
2023-03-08 11:15:31 +08:00
committed by GitHub
8 changed files with 78 additions and 4 deletions
+2
View File
@@ -26,6 +26,8 @@ type LoadbalancerBackendDetails struct {
LoadbalancerBackendGroupResourceInfo
SLoadbalancerBackend
ProjectId string `json:"tenant_id"`
}
type LoadbalancerBackendListInput struct {
@@ -23,6 +23,8 @@ type LoadbalancerBackendGroupDetails struct {
SLoadbalancerBackendGroup
LbListenerCount int `json:"lb_listener_count"`
ProjectId string `json:"tenant_id"`
}
type LoadbalancerBackendGroupResourceInfo struct {
+4 -3
View File
@@ -32,9 +32,10 @@ type LoadbalancerListenerDetails struct {
SLoadbalancerListener
BackendGroup string `json:"backend_group"`
CertificateName string `json:"certificate_name"`
OriginCertificateId string `json:"origin_certificate_id"`
BackendGroup string `json:"backend_group"`
CertificateName string `json:"certificate_name"`
ProjectId string `json:"tenant_id"`
}
type LoadbalancerListenerResourceInfo struct {
@@ -31,6 +31,8 @@ type LoadbalancerListenerRuleDetails struct {
SLoadbalancerListenerRule
BackendGroup string `json:"backend_group"`
ProjectId string `json:"tenant_id"`
}
type LoadbalancerListenerRuleListInput struct {
@@ -445,11 +445,28 @@ func (man *SLoadbalancerBackendGroupManager) FetchCustomizeColumns(
stdRows := man.SStatusStandaloneResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbRows := man.SLoadbalancerResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbIds := make([]string, len(objs))
for i := range rows {
rows[i] = api.LoadbalancerBackendGroupDetails{
StatusStandaloneResourceDetails: stdRows[i],
LoadbalancerResourceInfo: lbRows[i],
}
lbbg := objs[i].(*SLoadbalancerBackendGroup)
lbIds[i] = lbbg.LoadbalancerId
}
lbs := map[string]SLoadbalancer{}
err := db.FetchStandaloneObjectsByIds(LoadbalancerManager, lbIds, &lbs)
if err != nil {
return rows
}
virObjs := make([]interface{}, len(objs))
for i := range rows {
if lb, ok := lbs[lbIds[i]]; ok {
virObjs[i] = &lb
rows[i].ProjectId = lb.ProjectId
}
}
for i := range objs {
@@ -465,12 +465,29 @@ func (manager *SLoadbalancerBackendManager) FetchCustomizeColumns(
rows := make([]api.LoadbalancerBackendDetails, len(objs))
stdRows := manager.SStatusStandaloneResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbbgRows := manager.SLoadbalancerBackendgroupResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbIds := make([]string, len(objs))
for i := range rows {
rows[i] = api.LoadbalancerBackendDetails{
StatusStandaloneResourceDetails: stdRows[i],
LoadbalancerBackendGroupResourceInfo: lbbgRows[i],
}
lbIds[i] = rows[i].LoadbalancerId
}
lbs := map[string]SLoadbalancer{}
err := db.FetchStandaloneObjectsByIds(LoadbalancerManager, lbIds, &lbs)
if err != nil {
return rows
}
virObjs := make([]interface{}, len(objs))
for i := range rows {
if lb, ok := lbs[lbIds[i]]; ok {
virObjs[i] = &lb
rows[i].ProjectId = lb.ProjectId
}
}
return rows
}
@@ -623,12 +623,28 @@ func (man *SLoadbalancerListenerRuleManager) FetchCustomizeColumns(
stdRows := man.SStatusStandaloneResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
listenerRows := man.SLoadbalancerListenerResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbIds := make([]string, len(objs))
for i := range rows {
rows[i] = api.LoadbalancerListenerRuleDetails{
StatusStandaloneResourceDetails: stdRows[i],
LoadbalancerListenerResourceInfo: listenerRows[i],
}
rows[i], _ = objs[i].(*SLoadbalancerListenerRule).getMoreDetails(rows[i])
lbIds[i] = rows[i].LoadbalancerId
}
lbs := map[string]SLoadbalancer{}
err := db.FetchStandaloneObjectsByIds(LoadbalancerManager, lbIds, &lbs)
if err != nil {
return rows
}
virObjs := make([]interface{}, len(objs))
for i := range rows {
if lb, ok := lbs[lbIds[i]]; ok {
virObjs[i] = &lb
rows[i].ProjectId = lb.ProjectId
}
}
return rows
+18 -1
View File
@@ -497,6 +497,7 @@ func (manager *SLoadbalancerListenerManager) FetchCustomizeColumns(
lbaclRows := manager.SLoadbalancerAclResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbcertRows := manager.SLoadbalancerCertificateResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
lbbgIds := make([]string, len(objs))
lbIds := make([]string, len(objs))
for i := range rows {
rows[i] = api.LoadbalancerListenerDetails{
StatusStandaloneResourceDetails: stdRows[i],
@@ -505,10 +506,26 @@ func (manager *SLoadbalancerListenerManager) FetchCustomizeColumns(
LoadbalancerCertificateResourceInfo: lbcertRows[i],
}
lis := objs[i].(*SLoadbalancerListener)
lbIds[i] = lis.LoadbalancerId
lbbgIds[i] = lis.BackendGroupId
}
lbs := map[string]SLoadbalancer{}
err := db.FetchStandaloneObjectsByIds(LoadbalancerManager, lbIds, &lbs)
if err != nil {
return rows
}
virObjs := make([]interface{}, len(objs))
for i := range rows {
if lb, ok := lbs[lbIds[i]]; ok {
virObjs[i] = &lb
rows[i].ProjectId = lb.ProjectId
}
}
lbbgs := map[string]SLoadbalancerBackendGroup{}
err := db.FetchModelObjectsByIds(LoadbalancerBackendGroupManager, "id", lbbgIds, &lbbgs)
err = db.FetchModelObjectsByIds(LoadbalancerBackendGroupManager, "id", lbbgIds, &lbbgs)
if err != nil {
return rows
}