From 26fd12a81cb83a75552d570c823f82c3d67602b3 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Thu, 23 Jun 2016 10:38:08 -0400 Subject: [PATCH] Avoid sync without a reachable master --- controllers/nginx/controller.go | 16 ++++++++++------ controllers/nginx/main.go | 7 +++++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/controllers/nginx/controller.go b/controllers/nginx/controller.go index 0e039def9..bfe7e06a0 100644 --- a/controllers/nginx/controller.go +++ b/controllers/nginx/controller.go @@ -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) diff --git a/controllers/nginx/main.go b/controllers/nginx/main.go index ed2c9f67f..9bd40076f 100644 --- a/controllers/nginx/main.go +++ b/controllers/nginx/main.go @@ -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)