[DCAE] Helm charts for Mapper/BBS-Ep/RESTConf

Helm deployment support for DCAE transformation
+ Template fix for policy config (duration)

Change-Id: Icf2c8d529d62207db3fedf31b0c4fc644ba2e744
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Issue-ID: DCAEGEN2-2706
Issue-ID: DCAEGEN2-2707
Issue-ID: DCAEGEN2-2709
Issue-ID: DCAEGEN2-2855
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml
new file mode 100644
index 0000000..2dc7467
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml
@@ -0,0 +1,22 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property
+# ============================================================================
+# 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 VES-Mapper Microservice
+name: dcae-ves-mapper
+version: 8.0.0
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/requirements.yaml
new file mode 100644
index 0000000..c6804b7
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/requirements.yaml
@@ -0,0 +1,30 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# ============================================================================
+# 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'
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml
new file mode 100644
index 0000000..a914446
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+#   Copyright (c) 2021 AT&T Intellectual Property                              #
+#                                                                              #
+#   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.                                             #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml
new file mode 100644
index 0000000..0ad66b6
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+#   Copyright (c) 2021 AT&T Intellectual Property                              #
+#                                                                              #
+#   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.                                             #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml
new file mode 100644
index 0000000..6b70356
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+#   Copyright (c) 2021 AT&T Intellectual Property                              #
+#                                                                              #
+#   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.                                             #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml
new file mode 100644
index 0000000..cf11d2a
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+#   Copyright (c) 2021 AT&T Intellectual Property                              #
+#                                                                              #
+#   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.                                             #
+################################################################################
+*/}}
+
+{{ include "common.service" . }}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/values.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/values.yaml
new file mode 100644
index 0000000..67d97ad
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/values.yaml
@@ -0,0 +1,192 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# ============================================================================
+# 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
+
+#################################################################
+# 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.mapper.vesadapter.universalvesadaptor:1.2.0
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if absent, no sidecar will be deployed
+logDirectory: /opt/app/VESAdapter/logs
+
+# Directory where TLS certs should be stored
+# if absent, no certs will be retrieved and stored
+#certDirectory: /opt/app/ves-mapper/etc/certs
+
+# 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
+
+# Dependencies
+readinessCheck:
+  wait_for:
+    - dcae-config-binding-service
+    - aaf-cm
+
+# Service Configuration
+service:
+  type: ClusterIP
+  name: dcae-ves-mapper
+  ports:
+    - name: http
+      port: 80
+      port_protocol: http
+
+
+# Initial Application Configuration
+applicationConfig:
+  app_preferences:
+    collectors:
+    - identifier: notification-id
+      mapping-files:
+      - defaultMappingFile-rcc-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
+        xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
+        xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
+        keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
+        /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent'
+        beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
+        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event'
+        createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
+        /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields'
+        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader'
+        beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression
+        property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression
+        property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression
+        property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression
+        property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
+        property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec'
+        execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
+        property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
+        property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
+        property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean
+        class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields'
+        createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value
+        property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate'
+        data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate'
+        data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber'
+        data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress'
+        /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress'
+        /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion'
+        /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value
+        property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName'
+        data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields'
+        beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation'
+        beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring
+        property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean
+        beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value
+        data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>"
+      stream_publisher: ves-pnfRegistration
+      stream_subscriber: rcc-notification
+    - identifier: notify OID
+      mapping-files:
+      - defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
+        xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
+        xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
+        keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
+        /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent'
+        beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
+        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event'
+        createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
+        /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean
+        class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader'
+        createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression
+        property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId'
+        execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression
+        property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression
+        property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
+        property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec'
+        data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received'
+        /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
+        property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields'
+        beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion'
+        data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition'
+        data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression
+        property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression
+        property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring
+        property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot'
+        /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot'
+        createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation'
+        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation'
+        beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value
+        property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value'
+        /></jb:bean></smooks-resource-list>"
+      stream_publisher: ves-fault
+      stream_subscriber: snmp-notification
+  streams_publishes:
+    ves-fault:
+      dmaap_info:
+        topic_url: http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT
+      type: message_router
+    ves-pnfRegistration:
+      dmaap_info:
+        topic_url: http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT
+      type: message_router
+  streams_subscribes:
+    rcc-notification:
+      dmaap_info:
+        topic_url: http://message-router:3904/events/unauthenticated.DCAE_RCC_OUTPUT
+      type: message_router
+    snmp-notification:
+      dmaap_info:
+        topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
+      type: message_router
+
+
+# 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: {}