From b24c48a8c24a5b035af2fdd7759cba194d9f2d79 Mon Sep 17 00:00:00 2001 From: tangbin Date: Wed, 19 Feb 2020 18:38:54 +0800 Subject: [PATCH] huawei http listener sync fix --- pkg/multicloud/aws/loadbalancerlistener.go | 2 +- pkg/multicloud/huawei/loadbalancer_backendgroup.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/multicloud/aws/loadbalancerlistener.go b/pkg/multicloud/aws/loadbalancerlistener.go index 4c5b56d2b4..4734cb0e6d 100644 --- a/pkg/multicloud/aws/loadbalancerlistener.go +++ b/pkg/multicloud/aws/loadbalancerlistener.go @@ -693,7 +693,7 @@ func (self *SRegion) SyncElbListener(listener *SElbListener, config *cloudprovid if err != nil { if strings.Contains(err.Error(), "CertificateNotFound") { // aws 比较诡异,证书能查询到,但是如果立即创建会报错,这里只能等待一会重试 - time.Sleep(10*time.Second) + time.Sleep(10 * time.Second) _, err = client.ModifyListener(params) if err != nil { return errors.Wrap(err, "SRegion.SyncElbListener.ModifyListener.Retry") diff --git a/pkg/multicloud/huawei/loadbalancer_backendgroup.go b/pkg/multicloud/huawei/loadbalancer_backendgroup.go index f0bbcedacc..a18fdb3caa 100644 --- a/pkg/multicloud/huawei/loadbalancer_backendgroup.go +++ b/pkg/multicloud/huawei/loadbalancer_backendgroup.go @@ -377,7 +377,9 @@ func (self *SRegion) UpdateLoadBalancerBackendGroup(backendGroupID string, group } poolObj.Set("lb_algorithm", jsonutils.NewString(scheduler)) - if group.StickySession != nil { + if group.StickySession == nil || group.StickySession.StickySession == api.LB_BOOL_OFF { + poolObj.Set("session_persistence", jsonutils.JSONNull) + } else { s := jsonutils.NewDict() timeout := int64(group.StickySession.StickySessionCookieTimeout / 60) if group.ListenType == api.LB_LISTENER_TYPE_UDP || group.ListenType == api.LB_LISTENER_TYPE_TCP {