From e15a78da7edb70f8a446325e8328fd2df243c3a4 Mon Sep 17 00:00:00 2001 From: ioito Date: Tue, 14 May 2019 16:37:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=BE=E7=A4=BAacl=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/loadbalancerlisteners.go | 41 +++++++++++++++++---- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/pkg/compute/models/loadbalancerlisteners.go b/pkg/compute/models/loadbalancerlisteners.go index ecd8fe8cd7..d62ac49734 100644 --- a/pkg/compute/models/loadbalancerlisteners.go +++ b/pkg/compute/models/loadbalancerlisteners.go @@ -520,6 +520,11 @@ func (lblis *SLoadbalancerListener) GetCustomizeColumns(ctx context.Context, use extra.Set("backend_group", jsonutils.NewString(lbbg.GetName())) } } + if len(lblis.AclId) > 0 { + if acl := lblis.GetLoadbalancerAcl(); acl != nil { + extra.Set("acl_name", jsonutils.NewString(acl.Name)) + } + } regionInfo := lblis.SCloudregionResourceBase.GetCustomizeColumns(ctx, userCred, query) if regionInfo != nil { extra.Update(regionInfo) @@ -655,36 +660,56 @@ func (lblis *SLoadbalancerListener) GetLoadbalancerCertificate() *SLoadbalancerC if len(lblis.CertificateId) == 0 { return nil } - certificate, err := LoadbalancerCertificateManager.FetchById(lblis.CertificateId) + _certificate, err := LoadbalancerCertificateManager.FetchById(lblis.CertificateId) if err != nil { return nil } - return certificate.(*SLoadbalancerCertificate) + certificate := _certificate.(*SLoadbalancerCertificate) + if certificate.PendingDeleted { + log.Errorf("certificate %s(%s) has been deleted", certificate.Name, certificate.Id) + return nil + } + return certificate } func (lblis *SLoadbalancerListener) GetLoadbalancerAcl() *SLoadbalancerAcl { - acl, err := LoadbalancerAclManager.FetchById(lblis.AclId) + _acl, err := LoadbalancerAclManager.FetchById(lblis.AclId) if err != nil { return nil } - return acl.(*SLoadbalancerAcl) + acl := _acl.(*SLoadbalancerAcl) + if acl.PendingDeleted { + log.Errorf("acl %s(%s) has been deleted", acl.Name, acl.Id) + return nil + } + return acl } func (lblis *SLoadbalancerListener) GetLoadbalancerBackendGroup() *SLoadbalancerBackendGroup { - group, err := LoadbalancerBackendGroupManager.FetchById(lblis.BackendGroupId) + _group, err := LoadbalancerBackendGroupManager.FetchById(lblis.BackendGroupId) if err != nil { return nil } - return group.(*SLoadbalancerBackendGroup) + group := _group.(*SLoadbalancerBackendGroup) + if group.PendingDeleted { + log.Errorf("backendgroup %s(%s) has been deleted", group.Name, group.Id) + return nil + } + return group } func (lblis *SLoadbalancerListener) GetLoadbalancer() *SLoadbalancer { - loadbalancer, err := LoadbalancerManager.FetchById(lblis.LoadbalancerId) + _loadbalancer, err := LoadbalancerManager.FetchById(lblis.LoadbalancerId) if err != nil { log.Errorf("failed to find loadbalancer for loadbalancer listener %s", lblis.Name) return nil } - return loadbalancer.(*SLoadbalancer) + loadbalancer := _loadbalancer.(*SLoadbalancer) + if loadbalancer.PendingDeleted { + log.Errorf("loadbalancer %s(%s) has been deleted", loadbalancer.Name, loadbalancer.Id) + return nil + } + return loadbalancer } func (lblis *SLoadbalancerListener) GetRegion() *SCloudregion {