aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/dcaegen2-services/common
diff options
context:
space:
mode:
authorMaciej Wereski <m.wereski@partner.samsung.com>2021-12-16 12:24:06 +0100
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>2022-01-06 08:37:37 +0000
commit7000a7c8ad6acdbfbaed54c81b030f9b7ad190b1 (patch)
tree2e1bf5e0d5dd7ff581e14d63c94f3652eb56bef9 /kubernetes/dcaegen2-services/common
parent0d2cf1aee02c84d5ff262b4ac1d414fdadf5432b (diff)
[DCAEGEN2] Use common.log template
Until now DCAEGEN2 used its own templates instead of common ones. This change switches filebeat sidecar generation to common.log templates. Other ONAP components already use it. Filebeat is depreceated and with use of common templates it is possible to disable it globally. This patch also changes ConfigMap usage from per component ConfigMap to one ConfigMap for all of DCAEGEN2 components. This is done to simplify generated file as there are no differences between per component ConfigMaps. Issue-ID: OOM-1 Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com> Change-Id: I87ffe4890b9a4d79edfe0669750dbf21b4a7b340
Diffstat (limited to 'kubernetes/dcaegen2-services/common')
-rw-r--r--kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl15
-rw-r--r--kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl32
-rw-r--r--kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_filebeat-config.tpl86
3 files changed, 6 insertions, 127 deletions
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 5313b0782a..f76be4c190 100644
--- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl
+++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl
@@ -52,19 +52,6 @@ data:
application_config.yaml: |
{{ $appConf | toYaml | indent 4 }}
-{{- if .Values.logDirectory }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ include "common.fullname" . }}-filebeat-configmap
- namespace: {{ include "common.namespace" . }}
- labels: {{ include "common.labels" . | nindent 6 }}
-data:
- filebeat.yml: |-
-{{ include "dcaegen2-services-common.filebeatConfiguration" . | indent 4 }}
-{{- end }}
-
{{- if .Values.drFeedConfig }}
---
apiVersion: v1
@@ -124,4 +111,4 @@ data:
{{ $topics | toJson | indent 2 }}
{{- end }}
{{- end }}
-{{- end }} \ No newline at end of file
+{{- end }}
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 5ba7d2977a..ef49f8c5d4 100644
--- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl
+++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl
@@ -222,7 +222,7 @@ policies:
*/}}
{{- define "dcaegen2-services-common.microserviceDeployment" -}}
-{{- $logDir := default "" .Values.logDirectory -}}
+{{- $logDir := default "" .Values.log.path -}}
{{- $certDir := default "" .Values.certDirectory . -}}
{{- $tlsServer := default "" .Values.tlsServer -}}
{{- $commonRelease := print (include "common.release" .) -}}
@@ -355,7 +355,7 @@ spec:
name: app-config-input
{{- if $logDir }}
- mountPath: {{ $logDir}}
- name: component-log
+ name: logs
{{- end }}
{{- if $certDir }}
- mountPath: {{ $certDir }}
@@ -370,24 +370,7 @@ spec:
{{- end }}
{{- include "dcaegen2-services-common._externalVolumeMounts" . | nindent 8 }}
{{- if $logDir }}
- - image: {{ include "repositoryGenerator.image.logging" . }}
- imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
- name: filebeat
- env:
- - name: POD_IP
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: status.podIP
- resources: {{ include "common.resources" . | nindent 2 }}
- volumeMounts:
- - mountPath: /var/log/onap/{{ include "common.name" . }}
- name: component-log
- - mountPath: /usr/share/filebeat/data
- name: filebeat-data
- - mountPath: /usr/share/filebeat/filebeat.yml
- name: filebeat-conf
- subPath: filebeat.yml
+ {{ include "common.log.sidecar" . | nindent 6 }}
{{- end }}
{{- if $policy }}
- image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.dcaePolicySyncImage }}
@@ -448,13 +431,8 @@ spec:
name: app-config
{{- if $logDir }}
- emptyDir: {}
- name: component-log
- - emptyDir: {}
- name: filebeat-data
- - configMap:
- defaultMode: 420
- name: {{ include "common.fullname" . }}-filebeat-configmap
- name: filebeat-conf
+ name: logs
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 6 }}
{{- end }}
{{- if $certDir }}
- emptyDir: {}
diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_filebeat-config.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_filebeat-config.tpl
deleted file mode 100644
index a402517068..0000000000
--- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_filebeat-config.tpl
+++ /dev/null
@@ -1,86 +0,0 @@
-{{/*
-#============LICENSE_START========================================================
-# ================================================================================
-# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
-# Copyright (c) 2021 J. F. Lucas. 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=========================================================
-*/}}
-{{/*
-dcaegen2-services-common.filebeatConfiguration:
-This template generates configuration data for filebeat (log file aggregation).
-
-The template is used to create a configMap mounted by a filebeat sidecar pod
-running alongside a DCAE microservice pod.
-
-See dcaegen2-services-common.configMap for more information.
-*/}}
-{{- define "dcaegen2-services-common.filebeatConfiguration" -}}
-filebeat.prospectors:
-#it is mandatory, in our case it's log
-- input_type: log
- #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
- paths:
- - /var/log/onap/*/*/*/*.log
- - /var/log/onap/*/*/*.log
- - /var/log/onap/*/*.log
- #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
- ignore_older: 48h
- # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
- clean_inactive: 96h
-
-
-# Name of the registry file. If a relative path is used, it is considered relative to the
-# data path. Else full qualified file name.
-#filebeat.registry_file: ${path.data}/registry
-
-
-output.logstash:
- #List of logstash server ip addresses with port number.
- #But, in our case, this will be the loadbalancer IP address.
- #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["{{.Values.filebeatConfig.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.filebeatConfig.logstashPort}}"]
- #If enable will do load balancing among availabe Logstash, automatically.
- loadbalance: true
-
- #The list of root certificates for server verifications.
- #If certificate_authorities is empty or not set, the trusted
- #certificate authorities of the host system are used.
- #ssl.certificate_authorities: $ssl.certificate_authorities
-
- #The path to the certificate for SSL client authentication. If the certificate is not specified,
- #client authentication is not available.
- #ssl.certificate: $ssl.certificate
-
- #The client certificate key used for client authentication.
- #ssl.key: $ssl.key
-
- #The passphrase used to decrypt an encrypted key stored in the configured key file
- #ssl.key_passphrase: $ssl.key_passphrase
-
-logging:
- level: debug
-
- # enable file rotation with default configuration
- to_files: true
-
- # do not log to syslog
- to_syslog: false
-
- files:
- path: /usr/share/filebeat/logs
- name: mybeat.log
- keepfiles: 7
-{{- end -}} \ No newline at end of file