Added voltha-infra chart
Added voltha-stack chart
Moved "defaults" values to "global" so that they can be managed by the
macro charts
Added examples for different workflows

Change-Id: I5fb2bfa54a1be725892445e93bd8a35d608e5d14
diff --git a/voltha-adapter-openolt/Chart.yaml b/voltha-adapter-openolt/Chart.yaml
index a3d8ec5..d577730 100644
--- a/voltha-adapter-openolt/Chart.yaml
+++ b/voltha-adapter-openolt/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-openolt"
-version: "2.8.0"
+version: "2.8.1"
 description: "A Helm chart for Voltha OpenOLT Adapter"
 keywords:
   - "onf"
diff --git a/voltha-adapter-openolt/templates/openolt-deploy.yaml b/voltha-adapter-openolt/templates/openolt-deploy.yaml
index 83da3e8..5533a6c 100644
--- a/voltha-adapter-openolt/templates/openolt-deploy.yaml
+++ b/voltha-adapter-openolt/templates/openolt-deploy.yaml
@@ -46,6 +46,7 @@
         app.kubernetes.io/version: {{ quote .Chart.AppVersion }}
         app.kubernetes.io/component: "adapter"
         app.kubernetes.io/part-of: "voltha"
+        app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
         app.kubernetes.io/managed-by: {{ quote .Release.Service }}
         helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
         {{- if hasKey .Values "extra_pod_labels" }}
@@ -86,23 +87,23 @@
                 fieldRef:
                   fieldPath: metadata.labels['app.kubernetes.io/name']
             - name: KV_STORE_DATAPATH_PREFIX
-              value: {{ .Values.defaults.kv_store_data_prefix }}
+              value: {{ tpl .Values.adapter_open_olt.kv_store_data_prefix . }}
           args:
             - "/app/openolt"
-            - "--kafka_adapter_address={{ .Values.services.kafka.adapter.address }}"
-            - "--kafka_cluster_address={{ .Values.services.kafka.cluster.address }}"
-            - "--core_topic={{ .Values.defaults.topics.core_topic }}"
-            - "--adapter_topic={{ .Values.defaults.topics.adapter_open_olt_topic }}"
-            - "--kv_store_address={{ .Values.services.etcd.address }}"
+            - "--kafka_adapter_address={{ tpl .Values.services.kafka.adapter.address . }}"
+            - "--kafka_cluster_address={{ tpl .Values.services.kafka.cluster.address . }}"
+            - "--core_topic={{ tpl .Values.adapter_open_olt.topics.core_topic . }}"
+            - "--adapter_topic={{ tpl .Values.adapter_open_olt.topics.adapter_open_olt_topic . }}"
+            - "--kv_store_address={{ tpl .Values.services.etcd.address . }}"
             - "--kv_store_request_timeout={{ tpl .Values.adapter_open_olt.kv_store_timeout . }}"
             - "--log_level={{ $log_level }}"
             - "--current_replica={{ .Values.replicas.current_replica }}"
             - "--total_replica={{ .Values.replicas.total_replica }}"
             - "--probe_address=:8080"
-            - "--trace_enabled={{ .Values.tracing.enabled }}"
-            - "--trace_agent_address={{ .Values.services.tracing_agent.address }}"
-            - "--log_correlation_enabled={{ .Values.log_correlation.enabled }}"
-            - "--omcc_encryption={{ .Values.defaults.omcc_encryption }}"
+            - "--trace_enabled={{ .Values.global.tracing.enabled }}"
+            - "--trace_agent_address={{ tpl .Values.services.tracing_agent.address . }}"
+            - "--log_correlation_enabled={{ .Values.global.log_correlation.enabled }}"
+            - "--omcc_encryption={{ .Values.global.omcc_encryption }}"
           {{- if .Values.securityContext.enabled }}
           securityContext:
             allowPrivilegeEscalation: false
diff --git a/voltha-adapter-openolt/values.yaml b/voltha-adapter-openolt/values.yaml
index d72e734..3eb051d 100644
--- a/voltha-adapter-openolt/values.yaml
+++ b/voltha-adapter-openolt/values.yaml
@@ -16,7 +16,8 @@
 fullNameOverride: ~
 
 # Default overrides
-defaults:
+global:
+  stack_name: voltha
   log_level: "WARN"
   image_registry: ""
   image_tag: ~
@@ -24,17 +25,18 @@
   image_pullPolicy: "Always"
   adapter_open_olt:
     timeout: "5s"
-  topics:
-    core_topic: "rwcore"
-    adapter_open_olt_topic: "openolt"
 
-  # Define prefix path for etcd
-  # If you're running multiple voltha stacks the this value
-  # should be unique across the stacks.
-  kv_store_data_prefix: "service/voltha"
   #enable OMCC encryption
   omcc_encryption: false
 
+  # Configure Log Correlation
+  log_correlation:
+    enabled: true
+
+  # Configure Tracing
+  tracing:
+    enabled: true
+
 # Default security context under which the containers run
 securityContext:
   enabled: true
@@ -68,26 +70,22 @@
 profiler:
   enabled: false
 
-# Configure Log Correlation
-log_correlation:
-  enabled: true
-
-# Configure Tracing
-tracing:
-  enabled: true
-
 # Define the recplica count for everything
 replicas:
   current_replica: 1
   total_replica: 1
 
 adapter_open_olt:
-  log_level: '{{ .Values.defaults.log_level }}'
-  kv_store_timeout: '{{ .Values.defaults.adapter_open_olt.timeout }}'
+  log_level: '{{ .Values.global.log_level }}'
+  kv_store_timeout: '{{ .Values.global.adapter_open_olt.timeout }}'
+  kv_store_data_prefix: 'service/{{ .Values.global.stack_name }}_voltha'
+  topics:
+    core_topic: "{{ .Values.global.stack_name }}_rwcore"
+    adapter_open_olt_topic: "{{ .Values.global.stack_name }}_openolt"
 
 images:
   adapter_open_olt:
-    registry: '{{ .Values.defaults.image_registry }}'
-    repository: '{{ .Values.defaults.image_org }}voltha-openolt-adapter'
-    tag: '{{- if hasKey .Values.defaults "image_tag" }}{{- if .Values.defaults.image_tag }}{{ .Values.defaults.image_tag }}{{- else }}{{ .Chart.AppVersion }}{{- end }}{{- else }}{{ .Chart.AppVersion }}{{- end }}'
-    pullPolicy: '{{ .Values.defaults.image_pullPolicy | default "Always" }}'
+    registry: '{{ .Values.global.image_registry }}'
+    repository: '{{ .Values.global.image_org }}voltha-openolt-adapter'
+    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}{{ .Chart.AppVersion }}{{- end }}{{- else }}{{ .Chart.AppVersion }}{{- end }}'
+    pullPolicy: '{{ .Values.global.image_pullPolicy | default "Always" }}'