Merge pull request #1502 from aledbf/fix-template-update

Force reload on template change
This commit is contained in:
Manuel Alejandro de Brito Fontes 2017-10-08 16:20:25 -04:00 committed by GitHub
commit d809bbc4c7
3 changed files with 6 additions and 4 deletions

View file

@ -318,7 +318,7 @@ func (ic *GenericController) syncIngress(item interface{}) error {
setSSLExpireTime(servers)
ic.runningConfig = &pcfg
ic.setForceReload(false)
ic.SetForceReload(false)
return nil
}
@ -1250,9 +1250,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)
}

View file

@ -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 {

View file

@ -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)