Improve dynamic lua confguration
This commit is contained in:
parent
9af9ef5fd9
commit
1b63ca355f
1 changed files with 19 additions and 27 deletions
|
@ -184,35 +184,27 @@ func (n *NGINXController) syncIngress(interface{}) error {
|
||||||
n.metricCollector.SetSSLExpireTime(servers)
|
n.metricCollector.SetSSLExpireTime(servers)
|
||||||
}
|
}
|
||||||
|
|
||||||
isFirstSync := n.runningConfig.Equal(&ingress.Configuration{})
|
|
||||||
go func(isFirstSync bool) {
|
|
||||||
steps := 1
|
|
||||||
if isFirstSync {
|
|
||||||
// For the initial sync it always takes some time for NGINX to
|
|
||||||
// start listening on the configured port (default 18080)
|
|
||||||
// For large configurations it might take a while so we loop
|
|
||||||
// and back off
|
|
||||||
steps = 10
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
}
|
|
||||||
|
|
||||||
retry := wait.Backoff{
|
retry := wait.Backoff{
|
||||||
Steps: steps,
|
Steps: 15,
|
||||||
Duration: 1 * time.Second,
|
Duration: 1 * time.Second,
|
||||||
Factor: 1.5,
|
Factor: 0.8,
|
||||||
Jitter: 0.1,
|
Jitter: 0.1,
|
||||||
}
|
}
|
||||||
|
|
||||||
wait.ExponentialBackoff(retry, func() (bool, error) {
|
err := wait.ExponentialBackoff(retry, func() (bool, error) {
|
||||||
err := configureDynamically(pcfg, n.cfg.ListenPorts.Status, n.cfg.DynamicCertificatesEnabled)
|
err := configureDynamically(pcfg, n.cfg.ListenPorts.Status, n.cfg.DynamicCertificatesEnabled)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
glog.Infof("Dynamic reconfiguration succeeded.")
|
glog.V(2).Infof("Dynamic reconfiguration succeeded.")
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.Warningf("Dynamic reconfiguration failed: %v", err)
|
glog.Warningf("Dynamic reconfiguration failed: %v", err)
|
||||||
return false, nil
|
return false, err
|
||||||
})
|
})
|
||||||
}(isFirstSync)
|
if err != nil {
|
||||||
|
glog.Errorf("Unexpected failure reconfiguring NGINX:\n%v", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
ri := getRemovedIngresses(n.runningConfig, pcfg)
|
ri := getRemovedIngresses(n.runningConfig, pcfg)
|
||||||
re := getRemovedHosts(n.runningConfig, pcfg)
|
re := getRemovedHosts(n.runningConfig, pcfg)
|
||||||
|
|
Loading…
Reference in a new issue