diff --git a/controllers/nginx/controller.go b/controllers/nginx/controller.go index 0e039def9..65578f629 100644 --- a/controllers/nginx/controller.go +++ b/controllers/nginx/controller.go @@ -420,13 +420,19 @@ 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 { + glog.V(3).Infof("unexpected error searching configmap %v: %v", lbc.nxgConfigMap, err) + lbc.syncQueue.requeue(key, err) + return + } } 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)