Voltha kafka separation Attempt 2

Change-Id: I0c89be75f0ad55264705c12ba7c30ad554102ae0
diff --git a/voltha/requirements.yaml b/voltha/requirements.yaml
index 946ac26..c3a9621 100644
--- a/voltha/requirements.yaml
+++ b/voltha/requirements.yaml
@@ -14,7 +14,7 @@
 
 dependencies:
 - name: etcd-operator
-  version: 0.7.3
+  version: 0.7.7
   repository: https://kubernetes-charts.storage.googleapis.com/
   condition: etcd.operator.enabled
 - name: consul
diff --git a/voltha/templates/_helpers.tpl b/voltha/templates/_helpers.tpl
new file mode 100644
index 0000000..b65ed20
--- /dev/null
+++ b/voltha/templates/_helpers.tpl
@@ -0,0 +1,44 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/ -}}
+
+{{- define "voltha-shovel.cmd" }}
+- "/shovel/shovel/main.py"
+- "--kafka={{ .Values.kafkaReleaseName }}-kafka.default.svc.cluster.local"
+- "--host=grafana.voltha.svc.cluster.local"
+- "--topic=voltha.kpis"
+{{- end }}
+
+{{- define "voltha-dashd.cmd" }}
+- "/dashd/dashd/main.py"
+- "--kafka={{ .Values.kafkaReleaseName }}-kafka.default.svc.cluster.local"
+- "--grafana_url=http://admin:admin@grafana.$(NAMESPACE).svc.cluster.local:80/api"
+- "--topic=voltha.kpis"
+{{- end }}
+
+{{- define "voltha-vcore.cmd" }}
+- "voltha/voltha/main.py"
+- "-v"
+- "--etcd=etcd-cluster.default.svc.cluster.local:2379"
+- "--kafka={{ .Values.kafkaReleaseName }}-kafka.default.svc.cluster.local"
+- "--rest-port=8880"
+- "--grpc-port=50556"
+- "--interface=eth1"
+- "--backend=etcd"
+- "--pon-subnet=10.38.0.0/12"
+- "--ponsim-comm=grpc"
+{{- end }}
+
+
diff --git a/voltha/templates/stats.yaml b/voltha/templates/stats.yaml
index 51511a8..6e187b4 100644
--- a/voltha/templates/stats.yaml
+++ b/voltha/templates/stats.yaml
@@ -39,11 +39,8 @@
             fieldRef:
               fieldPath: metadata.namespace
         args:
-        - "/dashd/dashd/main.py"
-        - "--kafka={{ .Release.Name }}-kafka.default.svc.cluster.local"
-        - "--grafana_url=http://admin:admin@grafana.$(NAMESPACE).svc.cluster.local:80/api"
-        - "--topic=voltha.kpis"
-        #- "--consul=consul:8500"
+{{ include "voltha-dashd.cmd" . | indent 8 }}
+
 ---
 #
 # The shovel deployment
@@ -72,8 +69,4 @@
             fieldRef:
               fieldPath: metadata.namespace
         args:
-        - "/shovel/shovel/main.py"
-        - "--kafka={{ .Release.Name }}-kafka.default.svc.cluster.local"
-        - "--host=grafana.voltha.svc.cluster.local"
-        - "--topic=voltha.kpis"
-        #- "--consul=consul:8500"
\ No newline at end of file
+{{ include "voltha-shovel.cmd" . | indent 8 }}
\ No newline at end of file
diff --git a/voltha/templates/vcore_for_etcd.yaml b/voltha/templates/vcore_for_etcd.yaml
index 7f02fe0..c660760 100644
--- a/voltha/templates/vcore_for_etcd.yaml
+++ b/voltha/templates/vcore_for_etcd.yaml
@@ -61,16 +61,7 @@
                 fieldRef:
                   fieldPath: metadata.namespace
           args:
-            - "voltha/voltha/main.py"
-            - "-v"
-            - "--etcd=etcd-cluster.default.svc.cluster.local:2379"
-            - "--kafka={{ .Release.Name }}-kafka.default.svc.cluster.local"
-            - "--rest-port=8880"
-            - "--grpc-port=50556"
-            - "--interface=eth1"
-            - "--backend=etcd"
-            - "--pon-subnet=10.38.0.0/12"
-            - "--ponsim-comm=grpc"
+{{ include "voltha-vcore.cmd" . | indent 12 }}
           ports:
             - containerPort: 8880
               name: rest-port
diff --git a/voltha/values.yaml b/voltha/values.yaml
index 4cc250f..32616d1 100644
--- a/voltha/values.yaml
+++ b/voltha/values.yaml
@@ -47,10 +47,28 @@
           port: 50555
           targetPort: 50555
 
+kafka:
+  enabled: false
+  persistence:
+    enabled: false
+  zookeeper:
+    persistence:
+      enabled: false
+
+etcd:
+  operator:
+    enabled: true
 etcd-operator:
   customResources:
+    size: 1
     createEtcdClusterCRD: true
 
+kafkaReleaseName: voltha-kafka
+etcdReleaseName: voltha-etcd
+
+consul:
+  enabled: false
+
 envoyForEtcdImage: 'voltha/voltha-envoy:latest'
 freeradiusImage: 'tpdock/freeradius:latest'
 grafanaImage: 'kamon/grafana_graphite:3.0'
@@ -61,39 +79,10 @@
 vcliImage: 'voltha/voltha-cli:latest'
 vcoreImage: 'voltha/voltha-voltha:latest'
 
-kafka:
-  enabled: true
-  persistence:
-    enabled: false
-  zookeeper:
-    persistence:
-      enabled: false
-etcd:
-  operator:
-    enabled: true
-consul:
-  enabled: false
-
-
 # Need the namespace global for kafka
 global:
   namespace: voltha
 
-stats:
-  #dashd_args:
-  #- "/dashd/dashd/main.py"
-  #- "--kafka={{ .Release.Name }}-kafka.default.svc.cluster.local"
-  #- "--grafana_url=http://admin:admin@grafana.$(NAMESPACE).svc.cluster.local:80/api"
-  #- "--topic=voltha.kpis"
-  #- "--consul=consul:8500"
-
-  #shovel_args:
-  #- "/shovel/shovel/main.py"
-  #- "--kafka={{ .Release.Name }}-kafka.default.svc.cluster.local"
-  #- "--host=grafana.voltha.svc.cluster.local"
-  #- "--topic=voltha.kpis"
-  #- "--consul=consul:8500"
-
 vcli_args:
 - "/cli/cli/setup.sh"
 - "-C consul:8500"
@@ -101,18 +90,6 @@
 - "-s voltha:18880"
 - "-G"
 
-#vcore_etcd_args:
-#- "voltha/voltha/main.py"
-#- "-v"
-#- "--etcd=etcd-restore-operator.default.svc.cluster.local:2379"
-#- "--kafka={{ .Release.Name }}-kafka.default.svc.cluster.local"
-#- "--rest-port=8880"
-#- "--grpc-port=50556"
-#- "--interface=eth1"
-#- "--backend=etcd"
-#- "--pon-subnet=10.38.0.0/12"
-#- "--ponsim-comm=grpc"
-
 ofagent_args:
 - "/ofagent/ofagent/main.py"
 - "-v"