From 6d43cbfdda02924efc22b5a1d5007dfd84b6cd5f Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Sun, 8 Oct 2017 12:06:37 -0300 Subject: [PATCH] Force reload in template change --- pkg/ingress/controller/controller.go | 5 +++-- pkg/ingress/controller/listers.go | 4 ++-- pkg/nginx/controller/nginx.go | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/ingress/controller/controller.go b/pkg/ingress/controller/controller.go index e127f3cb9..7ba9ff3ae 100644 --- a/pkg/ingress/controller/controller.go +++ b/pkg/ingress/controller/controller.go @@ -315,7 +315,7 @@ func (ic *GenericController) syncIngress(item interface{}) error { setSSLExpireTime(servers) ic.runningConfig = &pcfg - ic.setForceReload(false) + ic.SetForceReload(false) return nil } @@ -1242,9 +1242,10 @@ func (ic *GenericController) isForceReload() bool { return atomic.LoadInt32(&ic.forceReload) != 0 } -func (ic *GenericController) setForceReload(shouldReload bool) { +func (ic *GenericController) SetForceReload(shouldReload bool) { if shouldReload { atomic.StoreInt32(&ic.forceReload, 1) + ic.syncQueue.Enqueue(&extensions.Ingress{}) } else { atomic.StoreInt32(&ic.forceReload, 0) } diff --git a/pkg/ingress/controller/listers.go b/pkg/ingress/controller/listers.go index e59af7088..a2da1ab1f 100644 --- a/pkg/ingress/controller/listers.go +++ b/pkg/ingress/controller/listers.go @@ -172,7 +172,7 @@ func (ic *GenericController) createListers(disableNodeLister bool) (*ingress.Sto if mapKey == ic.cfg.ConfigMapName { glog.V(2).Infof("adding configmap %v to backend", mapKey) ic.cfg.Backend.SetConfig(upCmap) - ic.setForceReload(true) + ic.SetForceReload(true) } }, UpdateFunc: func(old, cur interface{}) { @@ -182,7 +182,7 @@ func (ic *GenericController) createListers(disableNodeLister bool) (*ingress.Sto if mapKey == ic.cfg.ConfigMapName { glog.V(2).Infof("updating configmap backend (%v)", mapKey) ic.cfg.Backend.SetConfig(upCmap) - ic.setForceReload(true) + ic.SetForceReload(true) } // updates to configuration configmaps can trigger an update if mapKey == ic.cfg.ConfigMapName || mapKey == ic.cfg.TCPConfigMapName || mapKey == ic.cfg.UDPConfigMapName { diff --git a/pkg/nginx/controller/nginx.go b/pkg/nginx/controller/nginx.go index 3139fcb7e..55796c50b 100644 --- a/pkg/nginx/controller/nginx.go +++ b/pkg/nginx/controller/nginx.go @@ -106,6 +106,7 @@ Error loading new template : %v n.t.Close() n.t = template glog.Info("new NGINX template loaded") + n.controller.SetForceReload(true) } ngxTpl, err := ngx_template.NewTemplate(tmplPath, onChange)