From 3fbaa6a1fbfd358c11770ac283209732d29710a8 Mon Sep 17 00:00:00 2001 From: Wei Yan Date: Fri, 22 Feb 2019 14:54:00 -0800 Subject: [PATCH 1/2] Allow users to specify namespace for Kubernetes informers --- .../crd/controller/scheduledworkflow/main.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/backend/src/crd/controller/scheduledworkflow/main.go b/backend/src/crd/controller/scheduledworkflow/main.go index f7943499dfd..6f0c8e31507 100644 --- a/backend/src/crd/controller/scheduledworkflow/main.go +++ b/backend/src/crd/controller/scheduledworkflow/main.go @@ -31,8 +31,9 @@ import ( ) var ( - masterURL string - kubeconfig string + masterURL string + kubeconfig string + informerNamespace string ) func main() { @@ -61,8 +62,15 @@ func main() { log.Fatalf("Error building workflow clientset: %s", err.Error()) } - scheduleInformerFactory := swfinformers.NewSharedInformerFactory(scheduleClient, time.Second*30) - workflowInformerFactory := workflowinformers.NewSharedInformerFactory(workflowClient, time.Second*30) + var scheduleInformerFactory swfinformers.SharedInformerFactory + var workflowInformerFactory workflowinformers.SharedInformerFactory + if informerNamespace == "" { + scheduleInformerFactory = swfinformers.NewSharedInformerFactory(scheduleClient, time.Second*30) + workflowInformerFactory = workflowinformers.NewSharedInformerFactory(workflowClient, time.Second*30) + } else { + scheduleInformerFactory = swfinformers.NewFilteredSharedInformerFactory(scheduleClient, time.Second*30, informerNamespace, nil) + workflowInformerFactory = workflowinformers.NewFilteredSharedInformerFactory(workflowClient, time.Second*30, informerNamespace, nil) + } controller := NewController( kubeClient, @@ -83,4 +91,5 @@ func main() { func init() { flag.StringVar(&kubeconfig, "kubeconfig", "", "Path to a kubeconfig. Only required if out-of-cluster.") flag.StringVar(&masterURL, "master", "", "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") + flag.StringVar(&informerNamespace, "informer-namespace", "", "The namespace name used for Kubernetes informers to obtain the listers.") } From 2e3f809cc25b0ef94f336b26b59c77390f60f2d7 Mon Sep 17 00:00:00 2001 From: Wei Yan Date: Fri, 22 Feb 2019 15:16:33 -0800 Subject: [PATCH 2/2] Change variable informerNamespace to namespace --- .../src/crd/controller/scheduledworkflow/main.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/crd/controller/scheduledworkflow/main.go b/backend/src/crd/controller/scheduledworkflow/main.go index 6f0c8e31507..a40472441e5 100644 --- a/backend/src/crd/controller/scheduledworkflow/main.go +++ b/backend/src/crd/controller/scheduledworkflow/main.go @@ -31,9 +31,9 @@ import ( ) var ( - masterURL string - kubeconfig string - informerNamespace string + masterURL string + kubeconfig string + namespace string ) func main() { @@ -64,12 +64,12 @@ func main() { var scheduleInformerFactory swfinformers.SharedInformerFactory var workflowInformerFactory workflowinformers.SharedInformerFactory - if informerNamespace == "" { + if namespace == "" { scheduleInformerFactory = swfinformers.NewSharedInformerFactory(scheduleClient, time.Second*30) workflowInformerFactory = workflowinformers.NewSharedInformerFactory(workflowClient, time.Second*30) } else { - scheduleInformerFactory = swfinformers.NewFilteredSharedInformerFactory(scheduleClient, time.Second*30, informerNamespace, nil) - workflowInformerFactory = workflowinformers.NewFilteredSharedInformerFactory(workflowClient, time.Second*30, informerNamespace, nil) + scheduleInformerFactory = swfinformers.NewFilteredSharedInformerFactory(scheduleClient, time.Second*30, namespace, nil) + workflowInformerFactory = workflowinformers.NewFilteredSharedInformerFactory(workflowClient, time.Second*30, namespace, nil) } controller := NewController( @@ -91,5 +91,5 @@ func main() { func init() { flag.StringVar(&kubeconfig, "kubeconfig", "", "Path to a kubeconfig. Only required if out-of-cluster.") flag.StringVar(&masterURL, "master", "", "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") - flag.StringVar(&informerNamespace, "informer-namespace", "", "The namespace name used for Kubernetes informers to obtain the listers.") + flag.StringVar(&namespace, "namespace", "", "The namespace name used for Kubernetes informers to obtain the listers.") }