[VOL-5359] Add redis option as KVStore

Change-Id: Iacf583f53a2b00e9f0afd49c51ffb6be616e9b9b
Signed-off-by: abhay <abhayk@radisys.com>
diff --git a/VERSION b/VERSION
index 6cb9d3d..f989260 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.4.3
+3.4.4
diff --git a/voltha-adapter-openolt/Chart.yaml b/voltha-adapter-openolt/Chart.yaml
index 42effcf..c7607d5 100644
--- a/voltha-adapter-openolt/Chart.yaml
+++ b/voltha-adapter-openolt/Chart.yaml
@@ -17,7 +17,7 @@
 
 ## Chart version for package:
 ##   Increment when Chart.yaml changes
-version: "2.12.6"
+version: "2.12.7"
 description: "A Helm chart for Voltha OpenOLT Adapter"
 keywords:
   - "onf"
@@ -35,6 +35,6 @@
     url: "https://www.opennetworking.org"
 
 # appVersion refers to release version of voltha-openolt-adapter
-appVersion: "4.4.11"
+appVersion: "4.5.3"
 
 # [EOF]
diff --git a/voltha-adapter-openolt/templates/openolt-deploy.yaml b/voltha-adapter-openolt/templates/openolt-deploy.yaml
index ca3a5cb..bd1f6fb 100644
--- a/voltha-adapter-openolt/templates/openolt-deploy.yaml
+++ b/voltha-adapter-openolt/templates/openolt-deploy.yaml
@@ -120,7 +120,8 @@
             - "--adapter_endpoint={{ tpl .Values.adapter_open_olt.endpoints.address . }}.{{ .Release.Namespace }}.svc:{{ print .Values.adapter_open_olt.endpoints.port }}"
             - "--kafka_cluster_address={{ tpl .Values.services.kafka.cluster.address . }}"
             - "--event_topic={{ .Values.adapter_open_olt.topics.event_topic }}"
-            - "--kv_store_address={{ tpl .Values.services.etcd.address . }}"
+            - "--kv_store_type={{ tpl .Values.services.kvstore.type . }}"
+            - "--kv_store_address={{ tpl .Values.services.kvstore.address . }}"
             - "--kv_store_request_timeout={{ tpl .Values.adapter_open_olt.kv_store_timeout . }}"
             - "--heartbeat_check_interval={{ tpl .Values.adapter_open_olt.heartbeat_check_interval . }}"
             - "--heartbeat_fail_interval={{ tpl .Values.adapter_open_olt.heartbeat_fail_interval . }}"
diff --git a/voltha-adapter-openolt/values.yaml b/voltha-adapter-openolt/values.yaml
index 585f45c..aed777c 100644
--- a/voltha-adapter-openolt/values.yaml
+++ b/voltha-adapter-openolt/values.yaml
@@ -77,8 +77,10 @@
     cluster:
       address: kafka:9092
 
-  # Define connectivity to etcd
-  etcd:
+  # Define connectivity to kvstore
+  kvstore:
+    # type: etcd, redis or redis-sentinel
+    type: etcd
     address: etcd:2379
 
   # Define Tracing Agent connection details
diff --git a/voltha-adapter-openonu/Chart.yaml b/voltha-adapter-openonu/Chart.yaml
index ef90c99..3162364 100644
--- a/voltha-adapter-openonu/Chart.yaml
+++ b/voltha-adapter-openonu/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-openonu"
-version: "2.12.4"
+version: "2.12.5"
 description: "A Helm chart for Voltha OpenONU Adapter"
 keywords:
   - "onf"
@@ -32,6 +32,6 @@
     url: "https://www.opennetworking.org"
 
 # appVersion refers to release version of voltha-openonu-adapter-go
-appVersion: "2.12.3"
+appVersion: "2.12.7"
 
 # [EOF]
diff --git a/voltha-adapter-openonu/templates/openonu-go-deploy.yaml b/voltha-adapter-openonu/templates/openonu-go-deploy.yaml
index c42f9d8..ee837d2 100644
--- a/voltha-adapter-openonu/templates/openonu-go-deploy.yaml
+++ b/voltha-adapter-openonu/templates/openonu-go-deploy.yaml
@@ -86,7 +86,8 @@
             - "--adapter_endpoint={{ tpl .Values.adapter_open_onu.endpoints.address . }}.{{ .Release.Namespace }}.svc:{{ print .Values.adapter_open_onu.endpoints.port }}"
             - "--kafka_cluster_address={{ tpl .Values.services.kafka.cluster.address . }}"
             - "--event_topic={{ .Values.adapter_open_onu.topics.event_topic }}"
-            - "--kv_store_address={{ tpl .Values.services.etcd.address . }}"
+            - "--kv_store_type={{ tpl .Values.services.kvstore.type . }}"
+            - "--kv_store_address={{ tpl .Values.services.kvstore.address . }}"
             - "--kv_store_request_timeout={{ tpl .Values.adapter_open_onu.kv_store_timeout . }}"
             - "--log_level={{ $log_level }}"
             - "--probe_port=8080"
diff --git a/voltha-adapter-openonu/values.yaml b/voltha-adapter-openonu/values.yaml
index 12e2a78..08eb04e 100644
--- a/voltha-adapter-openonu/values.yaml
+++ b/voltha-adapter-openonu/values.yaml
@@ -86,7 +86,9 @@
       address: kafka:9092
 
   # Define connectivity to etcd
-  etcd:
+  kvstore:
+    # type: etcd, redis or redis-sentinel
+    type: etcd
     address: etcd:2379
 
   # Define Tracing Agent connection details
diff --git a/voltha-go-controller/Chart.yaml b/voltha-go-controller/Chart.yaml
index a8ea3b2..559557e 100644
--- a/voltha-go-controller/Chart.yaml
+++ b/voltha-go-controller/Chart.yaml
@@ -20,13 +20,13 @@
 # -----------------------------------------------------------------------
 
 # appVersion refers to release version of voltha-go-controller
-appVersion: "1.0"
+appVersion: "0.0.2"
 
 description: A Helm chart for Kubernetes
 name: voltha-go-controller
 
 ## Chart version for package voltha-stack
 ##   Increment when Chart.yaml changes
-version: "0.1.4"
+version: "0.1.5"
 
 # [EOF]
diff --git a/voltha-go-controller/templates/deployment.yaml b/voltha-go-controller/templates/deployment.yaml
index 7eaa7d1..39655f8 100644
--- a/voltha-go-controller/templates/deployment.yaml
+++ b/voltha-go-controller/templates/deployment.yaml
@@ -43,11 +43,11 @@
         - name: VOLTHA_PORT
           value: "55555"
         - name: KV_STORE_TYPE
-          value: "redis"
+          value: "{{ .Values.services.kvstore.type }}"
         - name: KV_STORE_HOST
-          value: "voltha-infra-redis-headless.{{ .Values.global.voltha_infra_namespace }}.svc.cluster.local"
+          value: "{{ .Values.services.kvstore.address }}"
         - name: KV_STORE_PORT
-          value: "6379"
+          value: "{{ .Values.services.kvstore.port }}"
         - name: KAFKA_ADAPTER_HOST
           value: "{{ tpl .Values.services.kafka.cluster.address . }}"
         - name: KAFKA_ADAPTER_PORT
diff --git a/voltha-go-controller/values.yaml b/voltha-go-controller/values.yaml
index 5b33839..54bd9bd 100644
--- a/voltha-go-controller/values.yaml
+++ b/voltha-go-controller/values.yaml
@@ -109,3 +109,8 @@
   kafka:
     cluster:
       address: kafka:9092
+  kvstore:
+    # type: etcd, redis or redis-sentinel
+    type: "redis"
+    address: "voltha-infra-redis-headless.{{ .Values.global.voltha_infra_namespace }}.svc.cluster.local"
+    port: "6379"
diff --git a/voltha-stack/Chart.yaml b/voltha-stack/Chart.yaml
index a1251b3..66e4924 100644
--- a/voltha-stack/Chart.yaml
+++ b/voltha-stack/Chart.yaml
@@ -34,7 +34,7 @@
 
 ## Chart version for package voltha-stack
 ##   Increment when Chart.yaml changes
-version    : "2.12.10"
+version    : "2.12.11"
 
 # -----------------------------------------------------------------------
 # NOTE: Dependencies are chart versions not component/repository version
@@ -43,19 +43,19 @@
 dependencies:
   - name       : voltha
     repository : file://../voltha
-    version    : "2.12.19"
+    version    : "2.12.20"
     condition  : voltha.enabled
   - name       : "voltha-adapter-openonu"
     repository : "file://../voltha-adapter-openonu"
-    version    : "2.12.4"
+    version    : "2.12.5"
     condition  : "voltha-adapter-openonu.enabled"
   - name       : voltha-adapter-openolt
     repository : file://../voltha-adapter-openolt
-    version    : "2.12.6"
+    version    : "2.12.7"
     condition  : voltha-adapter-openolt.enabled
   - name       : voltha-go-controller
     repository : file://../voltha-go-controller
-    version    : "0.1.4"
+    version    : "0.1.5"
     condition  : voltha-go-controller.enabled
 
 # [EOF]
diff --git a/voltha-stack/values.yaml b/voltha-stack/values.yaml
index a2faea0..68cffdf 100644
--- a/voltha-stack/values.yaml
+++ b/voltha-stack/values.yaml
@@ -42,7 +42,8 @@
     kafka:
       cluster:
         address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
-    etcd:
+    kvstore:
+      type: "etcd"
       address: "{{ .Values.global.voltha_infra_name }}-etcd.{{ .Values.global.voltha_infra_namespace }}.svc:2379"
     tracing_agent:
       address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"
@@ -57,7 +58,8 @@
     kafka:
       cluster:
         address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
-    etcd:
+    kvstore:
+      type: "etcd"
       address: "{{ .Values.global.voltha_infra_name }}-etcd.{{ .Values.global.voltha_infra_namespace }}.svc:2379"
     tracing_agent:
       address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"
@@ -72,7 +74,8 @@
     kafka:
       cluster:
         address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
-    etcd:
+    kvstore:
+      type: "etcd"
       address: "{{ .Values.global.voltha_infra_name }}-etcd.{{ .Values.global.voltha_infra_namespace }}.svc:2379"
     tracing_agent:
       address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"
@@ -80,6 +83,10 @@
 voltha-go-controller:
   enabled: false
   services:
-     kafka:
-       cluster:
-         address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
+    kvstore:
+      type: "redis"
+      address: "voltha-infra-redis-headless.{{ .Values.global.voltha_infra_namespace }}.svc.cluster.local"
+      port: "6379"
+    kafka:
+      cluster:
+        address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
diff --git a/voltha/Chart.yaml b/voltha/Chart.yaml
index a796dd7..ca848eb 100644
--- a/voltha/Chart.yaml
+++ b/voltha/Chart.yaml
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Open Networking Foundation (ONF) and the ONF Contributors
+# Copyright 2019-2024 Open Networking Foundation (ONF) and the ONF Contributors
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 
 ## Chart version for package: 'voltha'
 ##   Increment when Chart.yaml changes
-version: "2.12.19"
+version: "2.12.20"
 
 description: "A Helm chart for Voltha based on K8S resources in Voltha project"
 keywords:
@@ -37,6 +37,6 @@
 
 # app version is NOT used in this chart for application versions or image tags
 # but represents the voltha release version itself
-appVersion: "2.12"
+appVersion: "3.6.1"
 
 # [EOF]
diff --git a/voltha/templates/core-deploy.yaml b/voltha/templates/core-deploy.yaml
index 2a948b1..12afcdd 100644
--- a/voltha/templates/core-deploy.yaml
+++ b/voltha/templates/core-deploy.yaml
@@ -86,8 +86,8 @@
               value: {{ tpl .Values.rw_core.kv_store_data_prefix . }}
           args:
             - "/app/rw_core"
-            - "--kv_store_type=etcd"
-            - "--kv_store_address={{ tpl .Values.services.etcd.address . }}"
+            - "--kv_store_type={{ tpl .Values.services.kvstore.type . }}"
+            - "--kv_store_address={{ tpl .Values.services.kvstore.address . }}"
             - "--grpc_nbi_address=0.0.0.0:50057"
             - "--grpc_sbi_address=0.0.0.0:50058"
             - "--banner"
diff --git a/voltha/templates/ofagent-deploy.yaml b/voltha/templates/ofagent-deploy.yaml
index d85e85c..918fd31 100644
--- a/voltha/templates/ofagent-deploy.yaml
+++ b/voltha/templates/ofagent-deploy.yaml
@@ -99,8 +99,8 @@
         - "--controller={{ tpl .address $ }}"
         {{- end }}
         - "--voltha={{ template "fullname" . }}-api.{{ .Release.Namespace }}.svc:55555"
-        - "--kv_store_address={{ tpl .Values.services.etcd.address . }}"
-        - "--kv_store_type=etcd"
+        - "--kv_store_type={{ tpl .Values.services.kvstore.type . }}"
+        - "--kv_store_address={{ tpl .Values.services.kvstore.address . }}"
         - "--kv_store_request_timeout=60s"
         - "--log_level={{ $log_level }}"
         - "--device-refresh-interval={{ .Values.ofagent.device_refresh_interval }}"
diff --git a/voltha/values.yaml b/voltha/values.yaml
index 7a601e3..8712f7e 100644
--- a/voltha/values.yaml
+++ b/voltha/values.yaml
@@ -59,8 +59,10 @@
     cluster:
       address: kafka:9092
 
-  # Define connectivity to etcd
-  etcd:
+  # Define connectivity to kv store
+  kvstore:
+    # type: etcd, redis or redis-sentinel
+    type: etcd
     address: etcd:2379
 
   # Define Tracing Agent connection details