Avoid sync without a reachable master

This commit is contained in:
Manuel de Brito Fontes 2016-06-23 10:38:08 -04:00
parent bf9ea5eec4
commit 26fd12a81c
2 changed files with 17 additions and 6 deletions

View file

@ -420,13 +420,17 @@ func (lbc *loadBalancerController) sync(key string) error {
return fmt.Errorf("deferring sync till endpoints controller has synced")
}
var cfg *api.ConfigMap
// by default no custom configuration configmap
cfg := &api.ConfigMap{}
ns, name, _ := parseNsName(lbc.nxgConfigMap)
cfg, err := lbc.getConfigMap(ns, name)
if err != nil {
glog.V(3).Infof("unexpected error searching configmap %v: %v", lbc.nxgConfigMap, err)
cfg = &api.ConfigMap{}
if lbc.nxgConfigMap != "" {
// Search for custom configmap (defined in main args)
var err error
ns, name, _ := parseNsName(lbc.nxgConfigMap)
cfg, err = lbc.getConfigMap(ns, name)
if err != nil {
return fmt.Errorf("unexpected error searching configmap %v: %v", lbc.nxgConfigMap, err)
}
}
ngxConfig := lbc.nginx.ReadConfig(cfg)

View file

@ -130,6 +130,13 @@ func main() {
}
glog.Infof("Validated %v as the default backend", *defaultSvc)
if *nxgConfigMap != "" {
_, _, err := parseNsName(*nxgConfigMap)
if err != nil {
glog.Fatalf("configmap error: %v", err)
}
}
lbc, err := newLoadBalancerController(kubeClient, *resyncPeriod, *defaultSvc, *watchNamespace, *nxgConfigMap, *tcpConfigMapName, *udpConfigMapName, runtimePodInfo)
if err != nil {
glog.Fatalf("%v", err)