[DCAEGEN2] Migrate KPI MS to Helm

DCAE Helm Transformation support

Issue-ID: DCAEGEN2-2762
Signed-off-by: sumithra.s69@wipro.com
Change-Id: Idbc15f15c87a3588a8b48b6c187537437986e63c
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml
new file mode 100644
index 0000000..336ffc4
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml
@@ -0,0 +1,23 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+appVersion: "Honolulu"
+description: DCAE KPI MS chart
+name: dcae-kpi-ms
+version: 8.0.0
+
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/requirements.yaml
new file mode 100644
index 0000000..6b37d36
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/requirements.yaml
@@ -0,0 +1,32 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~8.x-0
+    repository: '@local'
+  - name: readinessCheck
+    version: ~8.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~8.x-0
+    repository: '@local'
+  - name: dcaegen2-services-common
+    version: ~8.x-0
+    repository: '@local'
+
+
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml
new file mode 100644
index 0000000..26be310
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml
new file mode 100644
index 0000000..02b5df8
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml
new file mode 100644
index 0000000..c4596e5
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml
new file mode 100644
index 0000000..ba0283d
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/values.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/values.yaml
new file mode 100644
index 0000000..026efd8
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/values.yaml
@@ -0,0 +1,156 @@
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# ============================================================================
+# 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.
+# ============= LICENSE_END ==================================================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  nodePortPrefixExt: 304
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+  - uid: &aafCredsUID aafcreds
+    type: basicAuth
+    login: '{{ .Values.aafCreds.identity }}'
+    password: '{{ .Values.aafCreds.password }}'
+    passwordPolicy: required
+
+#################################################################
+# InitContainer Images.
+#################################################################
+tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.0
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if absent, no sidecar will be deployed
+logDirectory: /var/log/ONAP/dcaegen2/services/kpims
+
+# Directory where TLS certs should be stored
+# if absent, no certs will be retrieved and stored
+certDirectory: /opt/app/kpims/etc/cert/
+
+# TLS role -- set to true if microservice acts as server
+# If true, an init container will retrieve a server cert
+# and key from AAF and mount them in certDirectory.
+tlsServer: true
+enable_tls: true
+
+# Dependencies
+readinessCheck:
+  wait_for:
+    - dcae-config-binding-service
+    - aaf-cm
+
+# Probe Configuration
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 15
+  timeoutSeconds: 1
+  path: /healthcheck
+  scheme: HTTP
+  port: 8080
+
+# Service Configuration
+service:
+  type: ClusterIP
+  name: dcae-kpi-ms
+  ports:
+    - name: http
+      port: 8080
+      port_protocol: http
+
+# AAF Credentials
+aafCreds:
+  identity: dcae@dcae.onap.org
+  password: demo123456!
+
+credentials:
+- name: AAF_IDENTITY
+  uid: *aafCredsUID
+  key: login
+- name: AAF_PASSWORD
+  uid: *aafCredsUID
+  key: password
+
+# Initial Application Configuration
+applicationConfig:
+  aafUsername: ${AAF_IDENTITY}
+  aafPassword: ${AAF_PASSWORD}
+  trust_store_path: '/opt/app/kpims/etc/cert/trust.jks'
+  trust_store_pass_path: '/opt/app/kpims/etc/cert/trust.pass'
+  pollingInterval: 20
+  pollingTimeout: 60
+  cbsPollingInterval: 60
+  dmaap.server: ["message-router"]
+  cg: kpi-cg
+  cid: kpi-cid
+  streams_subscribes:
+    performance_management_topic:
+      aafUsername: ${AAF_IDENTITY}
+      aafPassword: ${AAF_PASSWORD}
+      type: message-router
+      dmaap_info:
+        topic_url: https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS
+  streams_publishes:
+    kpi_topic:
+      aafUsername: ${AAF_IDENTITY}
+      aafPassword: ${AAF_PASSWORD}
+      type: message-router
+      dmaap_info:
+        topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT
+  kpi.policy: '{"domain":"measurementsForKpi","methodForKpi":[{"eventName":"perf3gpp_CORE-AMF_pmMeasResult","controlLoopSchemaType":"SLICE","policyScope":"resource=networkSlice;type=configuration","policyName":"configuration.dcae.microservice.kpi-computation","policyVersion":"v0.0.1","kpis":[{"measType":"AMFRegNbr","operation":"SUM","operands":"RM.RegisteredSubNbrMean"}]},{"eventName":"perf3gpp_CORE-UPF_pmMeasResult","controlLoopSchemaType":"SLICE","policyScope":"resource=networkSlice;type=configuration","policyName":"configuration.dcae.microservice.kpi-computation","policyVersion":"v0.0.1","kpis":[{"measType":"UpstreamThr","operation":"SUM","operands":"GTP.InDataOctN3UPF"},{"measType":"DownstreamThr","operation":"SUM","operands":"GTP.OutDataOctN3UPF"}]}]}'
+
+applicationEnv:
+  STANDALONE: 'false'
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
diff --git a/kubernetes/dcaegen2-services/requirements.yaml b/kubernetes/dcaegen2-services/requirements.yaml
index 2bbeb98..7e16d98 100644
--- a/kubernetes/dcaegen2-services/requirements.yaml
+++ b/kubernetes/dcaegen2-services/requirements.yaml
@@ -17,42 +17,40 @@
   - name: common
     version: ~8.x-0
     repository: '@local'
+  - name: dcae-hv-ves-collector
+    version: ~8.x-0
+    repository: '@local'
+    condition: dcae-hv-ves-collector.enabled
+  - name: dcae-kpi-ms
+    version: ~8.x-0
+    repository: '@local'
+    condition: dcae-kpi-ms.enabled
   - name: dcae-ms-healthcheck
     version: ~8.x-0
     repository: '@local'
-    #repository: 'file://components/dcae-ms-healthcheck'
     condition: dcae-ms-healthcheck.enabled
   - name: dcae-pmsh
     version: ~8.x-0
     repository: '@local'
-    #repository: 'file://components/dcae-pmsh'
     condition: dcae-pmsh.enabled
   - name: dcae-prh
     version: ~8.x-0
     repository: '@local'
-    #repository: 'file://components/dcae-prh'
     condition: dcae-bootstrap.enabled
-  - name: dcae-tcagen2
-    version: ~8.x-0
-    repository: '@local'
-    #repository: 'file://components/dcae-tcagen2'
-    condition: dcae-tcagen2.enabled
-  - name: dcae-ves-collector
-    version: ~8.x-0
-    repository: '@local'
-    #repository: 'file://components/dcae-ves-collector'
-    condition: dcae-ves-collector.enabled
-  - name: dcae-hv-ves-collector
-    version: ~8.x-0
-    repository: '@local'
-    #repository: 'file://components/dcae-hv-ves-collector'
-    condition: dcae-hv-ves-collector.enabled
   - name: dcae-slice-analysis-ms
     version: ~8.x-0
     repository: '@local'
-    #repository: 'file://components/dcae-slice-analysis-ms'
     condition: dcae-slice-analysis-ms.enabled
   - name: dcae-son-handler
     version: ~8.x-0
     repository: '@local'
     condition: dcae-son-handler.enabled
+  - name: dcae-tcagen2
+    version: ~8.x-0
+    repository: '@local'
+    condition: dcae-tcagen2.enabled
+  - name: dcae-ves-collector
+    version: ~8.x-0
+    repository: '@local'
+    condition: dcae-ves-collector.enabled
+
diff --git a/kubernetes/dcaegen2-services/values.yaml b/kubernetes/dcaegen2-services/values.yaml
index 687c9b2..21b84f9 100644
--- a/kubernetes/dcaegen2-services/values.yaml
+++ b/kubernetes/dcaegen2-services/values.yaml
@@ -13,19 +13,22 @@
 # limitations under the License.
 
 # Control deployment of DCAE microservices at ONAP installation time
-dcae-ms-healthcheck:
-  enabled: true
+
 dcae-hv-ves-collector:
   enabled: true
+dcae-kpi-ms:
+  enabled: false
+dcae-ms-healthcheck:
+  enabled: true
 dcae-pmsh:
   enabled: false
 dcae-prh:
   enabled: true
-dcae-tcagen2:
-  enabled: true
-dcae-ves-collector:
-  enabled: true
 dcae-slice-analysis-ms:
   enabled: false
 dcae-son-handler:
   enabled: false
+dcae-tcagen2:
+  enabled: true
+dcae-ves-collector:
+  enabled: true