From 4d7a2803719d1e4e4833a880d0bff723e316a29f Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Tue, 23 May 2017 20:02:12 -0400 Subject: [PATCH] Fix server name hash maxSize default value --- controllers/nginx/pkg/cmd/controller/nginx.go | 6 ++++-- controllers/nginx/pkg/config/config.go | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/controllers/nginx/pkg/cmd/controller/nginx.go b/controllers/nginx/pkg/cmd/controller/nginx.go index 2621cfe515..7e3ecfbbcc 100644 --- a/controllers/nginx/pkg/cmd/controller/nginx.go +++ b/controllers/nginx/pkg/cmd/controller/nginx.go @@ -401,10 +401,12 @@ func (n *NGINXController) SetListers(lister ingress.StoreLister) { // if an error is returned means requeue the update func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) ([]byte, error) { var longestName int + var serverNameBytes int for _, srv := range ingressCfg.Servers { if longestName < len(srv.Hostname) { longestName = len(srv.Hostname) } + serverNameBytes += len(srv.Hostname) } cfg := ngx_template.ReadConfig(n.configmap.Data) @@ -428,8 +430,8 @@ func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) ([]byte, er glog.V(3).Infof("adjusting ServerNameHashBucketSize variable to %v", nameHashBucketSize) cfg.ServerNameHashBucketSize = nameHashBucketSize } - serverNameHashMaxSize := nextPowerOf2(len(ingressCfg.Servers)) - if cfg.ServerNameHashMaxSize == 0 { + serverNameHashMaxSize := nextPowerOf2(serverNameBytes) + if cfg.ServerNameHashMaxSize < serverNameHashMaxSize { glog.V(3).Infof("adjusting ServerNameHashMaxSize variable to %v", serverNameHashMaxSize) cfg.ServerNameHashMaxSize = serverNameHashMaxSize } diff --git a/controllers/nginx/pkg/config/config.go b/controllers/nginx/pkg/config/config.go index 20169c6027..9829876eb2 100644 --- a/controllers/nginx/pkg/config/config.go +++ b/controllers/nginx/pkg/config/config.go @@ -301,6 +301,7 @@ func NewDefault() Configuration { MaxWorkerConnections: 16384, MapHashBucketSize: 64, ProxyRealIPCIDR: defIPCIDR, + ServerNameHashMaxSize: 1024, ShowServerTokens: true, SSLBufferSize: sslBufferSize, SSLCiphers: sslCiphers,