[VOL-5506] Enable grpc stats

Change-Id: I106d78d29a637065aca3d825164ec2ae6ff84003
Signed-off-by: Abhay Kumar <abhay.kumar@radisys.com>
diff --git a/VERSION b/VERSION
index 47b6be3..1981190 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.7.2
\ No newline at end of file
+3.8.0
diff --git a/voltha-adapter-openolt/Chart.yaml b/voltha-adapter-openolt/Chart.yaml
index 03a3017..6449e07 100644
--- a/voltha-adapter-openolt/Chart.yaml
+++ b/voltha-adapter-openolt/Chart.yaml
@@ -17,7 +17,7 @@
 
 ## Chart version for package 'voltha-adapter-openolt'
 ##   Increment when Chart.yaml changes
-version: "2.15.1"
+version: "2.15.2"
 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.5.19"
+appVersion: "4.6.2"
 
 # [EOF]
diff --git a/voltha-adapter-openolt/templates/openolt-servicemonitor.yaml b/voltha-adapter-openolt/templates/openolt-servicemonitor.yaml
new file mode 100644
index 0000000..4f07f7a
--- /dev/null
+++ b/voltha-adapter-openolt/templates/openolt-servicemonitor.yaml
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 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.
+# 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.
+---
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "{{ .Chart.Name }}"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "{{ .Chart.Name }}"
+    release: "{{ .Release.Name }}"
+  name: "{{ .Release.Name }}"
+  namespace: "{{ .Release.Namespace }}"
+spec:
+  endpoints:
+  - interval: 15s
+    path: /metrics
+    port: promserver
+  namespaceSelector:
+    matchNames:
+    - "voltha"
+  selector:
+    matchLabels:
+      app: "{{ .Chart.Name }}"
+      release: "{{ .Release.Name }}"
+
diff --git a/voltha-adapter-openolt/templates/openolt-svc.yaml b/voltha-adapter-openolt/templates/openolt-svc.yaml
index b6e810a..8657405 100644
--- a/voltha-adapter-openolt/templates/openolt-svc.yaml
+++ b/voltha-adapter-openolt/templates/openolt-svc.yaml
@@ -15,6 +15,16 @@
 apiVersion: v1
 kind: Service
 metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "{{ .Chart.Name }}"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "{{ .Chart.Name }}"
+    release: "{{ .Release.Name }}"
   name: "{{ tpl .Values.adapter_open_olt.endpoints.address . }}"
   namespace: {{ .Release.Namespace }}
 spec:
@@ -23,6 +33,9 @@
     - name: grpc
       port: {{ .Values.adapter_open_olt.endpoints.port }}
       targetPort: {{ .Values.adapter_open_olt.endpoints.port }}
+    - name: promserver
+      port: 8081
+      targetPort: 8081
   selector:
     app: adapter-open-olt
     release: {{ .Release.Name }}
diff --git a/voltha-adapter-openonu/Chart.yaml b/voltha-adapter-openonu/Chart.yaml
index 0877a1c..7de8d2c 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.15.1"
+version: "2.15.2"
 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.31"
+appVersion: "2.13.2"
 
 # [EOF]
diff --git a/voltha-adapter-openonu/templates/openonu-servicemonitor.yaml b/voltha-adapter-openonu/templates/openonu-servicemonitor.yaml
new file mode 100644
index 0000000..4f07f7a
--- /dev/null
+++ b/voltha-adapter-openonu/templates/openonu-servicemonitor.yaml
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 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.
+# 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.
+---
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "{{ .Chart.Name }}"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "{{ .Chart.Name }}"
+    release: "{{ .Release.Name }}"
+  name: "{{ .Release.Name }}"
+  namespace: "{{ .Release.Namespace }}"
+spec:
+  endpoints:
+  - interval: 15s
+    path: /metrics
+    port: promserver
+  namespaceSelector:
+    matchNames:
+    - "voltha"
+  selector:
+    matchLabels:
+      app: "{{ .Chart.Name }}"
+      release: "{{ .Release.Name }}"
+
diff --git a/voltha-adapter-openonu/templates/openonu-svc.yaml b/voltha-adapter-openonu/templates/openonu-svc.yaml
index 0a3c537..d9e218b 100644
--- a/voltha-adapter-openonu/templates/openonu-svc.yaml
+++ b/voltha-adapter-openonu/templates/openonu-svc.yaml
@@ -15,6 +15,16 @@
 apiVersion: v1
 kind: Service
 metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "{{ .Chart.Name }}"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "{{ .Chart.Name }}"
+    release: "{{ .Release.Name }}"
   name: "{{ tpl .Values.adapter_open_onu.endpoints.address . }}"
   namespace: {{ .Release.Namespace }}
 spec:
@@ -23,6 +33,9 @@
     - name: grpc
       port: {{ .Values.adapter_open_onu.endpoints.port }}
       targetPort: {{ .Values.adapter_open_onu.endpoints.port }}
+    - name: promserver
+      port: 8081
+      targetPort: 8081
   selector:
     app: adapter-open-onu
     release: {{ .Release.Name }}
diff --git a/voltha-go-controller/Chart.yaml b/voltha-go-controller/Chart.yaml
index 5e69cd1..7c0e916 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: "0.1.7"
+appVersion: "0.1.14"
 
 description: A Helm chart for Kubernetes
 name: voltha-go-controller
 
 ## Chart version for package voltha-go-controller
 ##   Increment when Chart.yaml changes
-version: "2.15.0"
+version: "2.15.1"
 
 # [EOF]
diff --git a/voltha-go-controller/templates/service.yaml b/voltha-go-controller/templates/service.yaml
index 7c2adb3..612537a 100644
--- a/voltha-go-controller/templates/service.yaml
+++ b/voltha-go-controller/templates/service.yaml
@@ -15,15 +15,31 @@
 apiVersion: v1
 kind: Service
 metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "{{ .Chart.Name }}"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "{{ .Chart.Name }}"
+    release: "{{ .Release.Name }}"
   name: "{{ tpl .Values.voltha_go_controller.endpoints.address . }}"
   namespace: {{ .Release.Namespace }}
 spec:
   ports:
   - name: of
     port: {{ .Values.voltha_go_controller.ofPort }}
+    protocol: TCP
     targetPort: {{ .Values.voltha_go_controller.ofPort }}
   - name: ui
     port: {{ .Values.voltha_go_controller.uiPort }}
+    protocol: TCP
     targetPort: {{ .Values.voltha_go_controller.uiPort }}
+  - name: promserver
+    port: 8081
+    protocol: TCP
+    targetPort: 8081
   selector:
     app: "{{ .Chart.Name }}"
diff --git a/voltha-go-controller/templates/servicemonitor.yaml b/voltha-go-controller/templates/servicemonitor.yaml
new file mode 100644
index 0000000..4f07f7a
--- /dev/null
+++ b/voltha-go-controller/templates/servicemonitor.yaml
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 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.
+# 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.
+---
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "{{ .Chart.Name }}"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "{{ .Chart.Name }}"
+    release: "{{ .Release.Name }}"
+  name: "{{ .Release.Name }}"
+  namespace: "{{ .Release.Namespace }}"
+spec:
+  endpoints:
+  - interval: 15s
+    path: /metrics
+    port: promserver
+  namespaceSelector:
+    matchNames:
+    - "voltha"
+  selector:
+    matchLabels:
+      app: "{{ .Chart.Name }}"
+      release: "{{ .Release.Name }}"
+
diff --git a/voltha-go-controller/values.yaml b/voltha-go-controller/values.yaml
index d362c2d..0be450a 100644
--- a/voltha-go-controller/values.yaml
+++ b/voltha-go-controller/values.yaml
@@ -16,6 +16,9 @@
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
 
+nameOverride: ~
+fullNameOverride: ~
+
 global:
   stack_name: voltha
   log_level: "WARN"
@@ -47,8 +50,6 @@
     pullPolicy: '{{ .Values.global.image_pullPolicy | default "Always" }}'
 
 imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
 
 serviceAccount:
   # Specifies whether a service account should be created
diff --git a/voltha-stack/Chart.yaml b/voltha-stack/Chart.yaml
index f990f51..2bebae3 100644
--- a/voltha-stack/Chart.yaml
+++ b/voltha-stack/Chart.yaml
@@ -30,11 +30,11 @@
 
 # app version is NOT used in this chart for application versions or image tags
 # but represents the voltha release version itself
-appVersion : "2.15"
+appVersion : "2.16"
 
 ## Chart version for package voltha-stack
 ##   Increment when Chart.yaml changes
-version    : "2.15.2"
+version    : "2.15.3"
 
 # -----------------------------------------------------------------------
 # NOTE: Dependencies are chart versions not component/repository version
@@ -43,19 +43,19 @@
 dependencies:
   - name       : voltha
     repository : file://../voltha
-    version    : "2.15.2"
+    version    : "2.15.3"
     condition  : voltha.enabled
   - name       : "voltha-adapter-openonu"
     repository : "file://../voltha-adapter-openonu"
-    version    : "2.15.1"
+    version    : "2.15.2"
     condition  : "voltha-adapter-openonu.enabled"
   - name       : voltha-adapter-openolt
     repository : file://../voltha-adapter-openolt
-    version    : "2.15.1"
+    version    : "2.15.2"
     condition  : voltha-adapter-openolt.enabled
   - name       : voltha-go-controller
     repository : file://../voltha-go-controller
-    version    : "2.15.0"
+    version    : "2.15.1"
     condition  : voltha-go-controller.enabled
 
 # [EOF]
diff --git a/voltha/Chart.yaml b/voltha/Chart.yaml
index 030cc87..67d77ee 100644
--- a/voltha/Chart.yaml
+++ b/voltha/Chart.yaml
@@ -17,7 +17,7 @@
 
 ## Chart version for package 'voltha'
 ##   Increment when Chart.yaml changes
-version: "2.15.2"
+version: "2.15.3"
 
 description: "A Helm chart for Voltha based on K8S resources in Voltha project"
 keywords:
@@ -36,6 +36,6 @@
     url: "https://www.opennetworking.org"
 
 # appVersion refers to release version of voltha-go
-appVersion: "3.6.20"
+appVersion: "3.7.4"
 
 # [EOF]
diff --git a/voltha/templates/api-svc.yaml b/voltha/templates/api-svc.yaml
index 32dec43..993756d 100644
--- a/voltha/templates/api-svc.yaml
+++ b/voltha/templates/api-svc.yaml
@@ -15,6 +15,16 @@
 apiVersion: v1
 kind: Service
 metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "read-write-core"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "rw-core"
+    release: "{{ .Release.Name }}"
   name: "{{ template "fullname" . }}-api"
   namespace: "{{ .Release.Namespace }}"
 spec:
@@ -23,5 +33,5 @@
       port: 55555
       targetPort: 50057
   selector:
-    app: rw-core
+    app: "rw-core"
     release: "{{ .Release.Name }}"
diff --git a/voltha/templates/core-servicemonitor.yaml b/voltha/templates/core-servicemonitor.yaml
new file mode 100644
index 0000000..9e06f4d
--- /dev/null
+++ b/voltha/templates/core-servicemonitor.yaml
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 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.
+# 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.
+---
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "read-write-core"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "rw-core"
+    release: "{{ .Release.Name }}"
+  name: "{{ .Release.Name }}"
+  namespace: "{{ .Release.Namespace }}"
+spec:
+  endpoints:
+  - interval: 15s
+    path: /metrics
+    port: promserver
+  namespaceSelector:
+    matchNames:
+    - "voltha"
+  selector:
+    matchLabels:
+      app: "rw-core"
+      release: "{{ .Release.Name }}"
+
diff --git a/voltha/templates/core-svc.yaml b/voltha/templates/core-svc.yaml
index c3d115e..76e97ed 100644
--- a/voltha/templates/core-svc.yaml
+++ b/voltha/templates/core-svc.yaml
@@ -15,6 +15,16 @@
 apiVersion: v1
 kind: Service
 metadata:
+  annotations:
+    meta.helm.sh/release-name: "{{ .Values.fullNameOverride }}-{{ .Chart.Name }}"
+    meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
+  labels:
+    app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+    app.kubernetes.io/name: "read-write-core"
+    app.kubernetes.io/part-of: "voltha"
+    app.kubernetes.io/stack: "{{ .Values.global.stack_name }}"
+    app: "rw-core"
+    release: "{{ .Release.Name }}"
   name: "{{ template "fullname" . }}-core"
   namespace: "{{ .Release.Namespace }}"
 spec:
@@ -22,6 +32,9 @@
     - name: core-grpc
       port: 55558
       targetPort: 50058
+    - name: promserver
+      port: 8081
+      targetPort: 8081
   selector:
     app: rw-core
     release: "{{ .Release.Name }}"