From cf5232aa2cd22ab4a06fcf5c0eb87e9cac883d45 Mon Sep 17 00:00:00 2001 From: ajay_dp001 Date: Tue, 13 Apr 2021 20:48:07 +0530 Subject: [DCAEGEN2] Deploy DCAEGEN2-DFC Microservices to Helm - DCAE Helm Transformation (Phase-2) - Charts for the microservices are found under - oom/kubernetes/dcaegen2-services/dcae-datafile-collector Issue-ID: DCAEGEN2-2715 Signed-off-by: ajay_dp001 Change-Id: I6efa2d4cd9e838a7befaf16576f8e94ad0a3ef0f --- .../templates/_configmap.tpl | 61 +++++++ .../templates/_deployment.tpl | 7 +- .../components/dcae-datafile-collector/Chart.yaml | 22 +++ .../dcae-datafile-collector/requirements.yaml | 33 ++++ .../templates/certificates.yaml | 21 +++ .../templates/configmap.yaml | 19 +++ .../templates/deployment.yaml | 19 +++ .../dcae-datafile-collector/templates/service.yaml | 19 +++ .../components/dcae-datafile-collector/values.yaml | 180 +++++++++++++++++++++ kubernetes/dcaegen2-services/requirements.yaml | 12 +- kubernetes/dcaegen2-services/values.yaml | 6 +- 11 files changed, 392 insertions(+), 7 deletions(-) create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/requirements.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-datafile-collector/values.yaml (limited to 'kubernetes/dcaegen2-services') diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl index 1dff4d0f77..5313b0782a 100644 --- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl +++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl @@ -2,6 +2,7 @@ # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2019 AT&T # Copyright (c) 2021 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 Nordix Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -63,4 +64,64 @@ data: filebeat.yml: |- {{ include "dcaegen2-services-common.filebeatConfiguration" . | indent 4 }} {{- end }} + +{{- if .Values.drFeedConfig }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-feeds-config + namespace: {{ include "common.namespace" . }} + labels: {{ include "common.labels" . | nindent 6 }} +data: + {{- range $i, $feed := .Values.drFeedConfig }} + feedConfig-{{$i}}.json: |- + {{ $feed | toJson | indent 2 }} + {{- end }} +{{- end }} + +{{- if .Values.drPubConfig }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-drpub-config + namespace: {{ include "common.namespace" . }} + labels: {{ include "common.labels" . | nindent 6 }} +data: + {{- range $i, $drpub := .Values.drPubConfig }} + drpubConfig-{{$i}}.json: |- + {{ $drpub | toJson | indent 2 }} + {{- end }} +{{- end }} + +{{- if .Values.drSubConfig }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-drsub-config + namespace: {{ include "common.namespace" . }} + labels: {{ include "common.labels" . | nindent 6 }} +data: + {{- range $i, $drsub := .Values.drSubConfig }} + drsubConfig-{{$i}}.json: |- + {{ $drsub | toJson | indent 2 }} + {{- end }} +{{- end }} + +{{- if .Values.mrTopicsConfig }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-topics-config + namespace: {{ include "common.namespace" . }} + labels: {{ include "common.labels" . | nindent 6 }} +data: + {{- range $i, $topics := .Values.mrTopicsConfig }} + topicsConfig-{{$i}}.json: |- + {{ $topics | toJson | indent 2 }} + {{- end }} +{{- end }} {{- end }} \ No newline at end of file diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl index ffff46fab5..7c9073a537 100644 --- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl +++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl @@ -4,6 +4,7 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved. # Copyright (c) 2021 Nokia. All rights reserved. +# Copyright (c) 2021 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -214,6 +215,7 @@ list of policyID or filter {{- $certDir := default "" .Values.certDirectory . -}} {{- $tlsServer := default "" .Values.tlsServer -}} {{- $policy := default "" .Values.policies -}} +{{- $drFeedConfig := default "" .Values.drFeedConfig -}} apiVersion: apps/v1 kind: Deployment @@ -225,6 +227,7 @@ spec: metadata: {{- include "common.templateMetadata" . | nindent 6 }} spec: initContainers: + {{- if not $drFeedConfig }} - command: - sh args: @@ -247,8 +250,9 @@ spec: image: {{ include "repositoryGenerator.image.envsubst" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-update-config - + {{- end }} {{ include "common.readinessCheck.waitFor" . | indent 6 | trim }} + {{- include "common.dmaap.provisioning.initContainer" . | nindent 6 }} - name: init-consul image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.consulLoaderImage }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} @@ -444,6 +448,7 @@ spec: - name: policy-shared emptyDir: {} {{- end }} + {{- include "common.dmaap.provisioning._volumes" . | nindent 6 -}} {{- include "dcaegen2-services-common._externalVolumes" . | nindent 6 }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml new file mode 100644 index 0000000000..e7cde04abf --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml @@ -0,0 +1,22 @@ +# ================================ LICENSE_START ============================= +# ============================================================================ +# Copyright (C) 2021 Nordix Foundation. +# ============================================================================ +# 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 DataFile Collector Helm charts +name: dcae-datafile-collector +version: 8.0.0 \ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-datafile-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/requirements.yaml new file mode 100644 index 0000000000..9f1600ead3 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/requirements.yaml @@ -0,0 +1,33 @@ +# ================================ LICENSE_START ============================= +# ============================================================================ +# Copyright (C) 2021 Nordix Foundation. +# ============================================================================ +# 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: certManagerCertificate + 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-datafile-collector/templates/certificates.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml new file mode 100644 index 0000000000..78ae858cec --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml @@ -0,0 +1,21 @@ +{{/* +################################################################################ +# Copyright (C) 2021 Nordix Foundation. # +# # +# 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. # +################################################################################ +*/}} + +{{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} +{{ include "certManagerCertificate.certificate" . }} +{{ end }} \ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml new file mode 100644 index 0000000000..a0cb9a66bd --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (C) 2021 Nordix Foundation. # +# # +# 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-datafile-collector/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml new file mode 100644 index 0000000000..d992d5c19c --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (C) 2021 Nordix Foundation. # +# # +# 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-datafile-collector/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml new file mode 100644 index 0000000000..2de4a8fe0a --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (C) 2021 Nordix Foundation. # +# # +# 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-datafile-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/values.yaml new file mode 100644 index 0000000000..4bffb98e23 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/values.yaml @@ -0,0 +1,180 @@ +# ================================ LICENSE_START ========================== +# ========================================================================= +# Copyright (C) 2021 Nordix Foundation. +# ========================================================================= +# 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 +certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.3.3 + +################################################################# +# Application Configuration Defaults. +################################################################# +# Application Image +image: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.5.5 +pullPolicy: Always + +# Log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /var/log/ONAP + +# Directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/datafile/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 + +# CMPv2 certificate +# It is used only when: +# - certDirectory is set +# - global cmpv2Enabled flag is set to true +# - flag useCmpv2Certificates is set to true +# Disabled by default +useCmpv2Certificates: false +certificates: + - mountPath: /opt/app/datafile/etc/cert/external + commonName: dcae-datafile-collector + dnsNames: + - dcae-datafile-collector + - datafile-collector + - datafile + keystore: + outputType: + - p12 + passwordSecretRef: + name: datafile-collector-cmpv2-keystore-password + key: password + create: true + +# Dependencies +readinessCheck: + wait_for: + containers: + - dcae-config-binding-service + - aaf-cm + - dmaap-bc + - dmaap-provisioning-job + +# Probe Configuration +readiness: + initialDelaySeconds: 10 + periodSeconds: 15 + timeoutSeconds: 1 + path: /heartbeat + scheme: HTTP + port: 8100 + +# Service Configuration +service: + type: ClusterIP + name: datafile-collector + ports: + - name: https + port: 8443 + plain_port: 8100 + port_protocol: http + +# Initial Application Configuration +applicationConfig: + dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12 + dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass + dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks + dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass + dmaap.dmaapConsumerConfiguration.consumerGroup: OpenDcae-c12 + dmaap.dmaapConsumerConfiguration.consumerId: C12 + dmaap.dmaapConsumerConfiguration.timeoutMs: -1 + dmaap.security.enableDmaapCertAuth: true + dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass + dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks + dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass + dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks + service_calls: [] + sftp.security.strictHostKeyChecking: true + streams_publishes: + PM_MEAS_FILES: + dmaap_info: + publisher_id: ${DR_FILES_PUBLISHER_ID_0} + location: loc00 + log_url: ${DR_LOG_URL_0} + publish_url: ${DR_FILES_PUBLISHER_URL_0} + username: ${DR_USERNAME_0} + password: ${DR_PASSWORD_0} + type: data_router + streams_subscribes: + dmaap_subscriber: + dmaap_info: + topic_url: "https://message-router:3905/events/unauthenticated.VES_NOTIFICATION_OUTPUT" + type: message_router + +# DataRouter Feed Configuration +drFeedConfig: + - feedName: bulk_pm_feed + owner: dcaecm + feedVersion: 0.0 + asprClassification: unclassified + feedDescription: DFC Feed Creation + +# DataRouter Publisher Configuration +drPubConfig: + - feedName: bulk_pm_feed + dcaeLocationName: loc00 + +# ConfigMap Configuration for Feed, Dr_Publisher +volumes: + - name: feeds-config + path: /opt/app/config/feeds + - name: drpub-config + path: /opt/app/config/dr_pubs + +# 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: 500m + memory: 768Mi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 1 + memory: 1Gi + unlimited: {} \ No newline at end of file diff --git a/kubernetes/dcaegen2-services/requirements.yaml b/kubernetes/dcaegen2-services/requirements.yaml index d246c16237..63e65ea5eb 100644 --- a/kubernetes/dcaegen2-services/requirements.yaml +++ b/kubernetes/dcaegen2-services/requirements.yaml @@ -18,6 +18,10 @@ dependencies: - name: common version: ~8.x-0 repository: '@local' + - name: dcae-datafile-collector + version: ~8.x-0 + repository: '@local' + condition: dcae-datafile-collector.enabled - name: dcae-heartbeat version: ~8.x-0 repository: '@local' @@ -30,14 +34,14 @@ dependencies: version: ~8.x-0 repository: '@local' condition: dcae-kpi-ms.enabled - - name: dcae-pm-mapper - version: ~8.x-0 - repository: '@local' - condition: dcae-pm-mapper.enabled - name: dcae-ms-healthcheck version: ~8.x-0 repository: '@local' condition: dcae-ms-healthcheck.enabled + - name: dcae-pm-mapper + version: ~8.x-0 + repository: '@local' + condition: dcae-pm-mapper.enabled - name: dcae-pmsh version: ~8.x-0 repository: '@local' diff --git a/kubernetes/dcaegen2-services/values.yaml b/kubernetes/dcaegen2-services/values.yaml index f38b9034bc..7f971fac4d 100644 --- a/kubernetes/dcaegen2-services/values.yaml +++ b/kubernetes/dcaegen2-services/values.yaml @@ -16,16 +16,18 @@ # Control deployment of DCAE microservices at ONAP installation time +dcae-datafile-collector: + enabled: false dcae-heartbeat: enabled: false dcae-hv-ves-collector: enabled: true -dcae-pm-mapper: - enabled: false dcae-kpi-ms: enabled: false dcae-ms-healthcheck: enabled: true +dcae-pm-mapper: + enabled: false dcae-pmsh: enabled: false dcae-prh: -- cgit 1.2.3-korg