[DCAE] Helm charts for SNMPTrap collector 48/122348/18
authorVijay Venkatesh Kumar <vv770d@att.com>
Tue, 29 Jun 2021 18:08:48 +0000 (14:08 -0400)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Fri, 27 Aug 2021 14:39:58 +0000 (14:39 +0000)
Helm deployment support for DCAE transformation
common/svc template support for UDP protocol.

Added readiness configuration.

Change-Id: Idc40c60d95ddd5eb0ef43ba0b11b7b163970a5b1
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Issue-ID: DCAEGEN2-2708
Issue-ID: OOM-2751
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
kubernetes/common/common/templates/_service.tpl
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/secret.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-ves-mapper/values.yaml
kubernetes/dcaegen2-services/requirements.yaml
kubernetes/dcaegen2-services/values.yaml

index 8489cc5..49f1b94 100644 (file)
@@ -13,7 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 */}}
-
 {{/*
   Resolve the name of a chart's service.
 
@@ -122,6 +121,11 @@ labels: {{- include "common.labels" (dict "labels" $labels "dot" $dot) | nindent
 {{-     if (include "common.needTLS" $dot) }}
 - port: {{ $port.port }}
   targetPort: {{ $port.name }}
+{{-       if $port.l4_protocol }}
+  protocol: {{ $port.l4_protocol }}
+{{-       else }}
+  protocol: TCP
+{{-       end }}
 {{-       if $port.port_protocol }}
   name: {{ printf "%ss-%s" $port.port_protocol $port.name }}
 {{-       else }}
@@ -133,6 +137,11 @@ labels: {{- include "common.labels" (dict "labels" $labels "dot" $dot) | nindent
 {{-     else }}
 - port: {{ default $port.port $port.plain_port }}
   targetPort: {{ $port.name }}
+{{-       if $port.plain_port_l4_protocol }}
+  protocol: {{ $port.plain_port_l4_protocol }}
+{{-       else }}
+  protocol: {{ default "TCP" $port.l4_protocol  }}
+{{-       end }}
 {{-       if $port.port_protocol }}
   name: {{ printf "%s-%s" $port.port_protocol $port.name }}
 {{-       else }}
@@ -143,6 +152,11 @@ labels: {{- include "common.labels" (dict "labels" $labels "dot" $dot) | nindent
 {{-       if (eq $serviceType "ClusterIP")  }}
 - port: {{ $port.plain_port }}
   targetPort: {{ $port.name }}-plain
+{{-       if $port.plain_l4_port_protocol }}
+  protocol: {{ $port.plain_port_l4_protocol }}
+{{-       else }}
+  protocol: {{ default "TCP" $port.l4_protocol  }}
+{{-       end }}
 {{-         if $port.port_protocol }}
   name: {{ printf "%s-%s" $port.port_protocol $port.name }}
 {{-         else }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml
new file mode 100644 (file)
index 0000000..23020db
--- /dev/null
@@ -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 SNMPTrap Collector
+name: dcae-snmptrap-collector
+version: 8.0.0
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/requirements.yaml
new file mode 100644 (file)
index 0000000..c6804b7
--- /dev/null
@@ -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-snmptrap-collector/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..a914446
--- /dev/null
@@ -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-snmptrap-collector/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..0ad66b6
--- /dev/null
@@ -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-snmptrap-collector/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/secret.yaml
new file mode 100644 (file)
index 0000000..6b70356
--- /dev/null
@@ -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-snmptrap-collector/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/service.yaml
new file mode 100644 (file)
index 0000000..cf11d2a
--- /dev/null
@@ -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-snmptrap-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml
new file mode 100644 (file)
index 0000000..8cf6508
--- /dev/null
@@ -0,0 +1,147 @@
+# ================================ 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.collectors.snmptrap:2.0.5
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if absent, no sidecar will be deployed
+logDirectory: /opt/app/snmptrap/logs
+
+
+# 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
+
+# Probe Configuration
+readiness:
+  type: exec
+  command:
+    - /opt/app/snmptrap/bin/snmptrapd.sh
+    - status
+
+# service configuration
+service:
+  type: NodePort
+  name: dcae-snmptrap-collector
+  ports:
+    - name: udp
+      port: 6162
+      l4_protocol: UDP  # default to TCP if not set
+      port_protocol: udp    #used in svn name
+      nodePort: 70
+      useNodePortExt: true
+
+# Initial Application Configuration
+applicationConfig:
+  StormWatchPolicy: ''
+  cache:
+    dns_cache_ttl_seconds: 60
+  services_calls: {}
+  snmptrapd:
+    version: '2.0.4'
+    title: ONAP SNMP Trap Receiver
+  sw_interval_in_seconds: 60
+  streams_publishes:
+    sec_fault_unsecure:
+      dmaap_info:
+        topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
+      type: message_router
+      aaf_password: null
+      aaf_username: null
+  files:
+    runtime_base_dir: "/opt/app/snmptrap"
+    log_dir: logs
+    data_dir: data
+    pid_dir: tmp
+    arriving_traps_log: snmptrapd_arriving_traps.log
+    snmptrapd_diag: snmptrapd_prog_diag.log
+    traps_stats_log: snmptrapd_stats.csv
+    perm_status_file: snmptrapd_status.log
+    eelf_base_dir: "/opt/app/snmptrap/logs"
+    eelf_error: error.log
+    eelf_debug: debug.log
+    eelf_audit: audit.log
+    eelf_metrics: metrics.log
+    roll_frequency: hour
+    minimum_severity_to_log: 3
+  protocols:
+    transport: udp
+    ipv4_interface: 0.0.0.0
+    ipv4_port: 6162
+    ipv6_interface: "::1"
+    ipv6_port: 6162
+  publisher:
+    http_milliseconds_timeout: 1500
+    http_retries: 3
+    http_milliseconds_between_retries: 750
+    http_primary_publisher: 'true'
+    http_peer_publisher: unavailable
+    max_traps_between_publishes: 10
+    max_milliseconds_between_publishes: 10000
+
+# 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: {}
index 67d97ad..528e93d 100644 (file)
@@ -169,7 +169,6 @@ applicationConfig:
         topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
       type: message_router
 
-
 # Resource Limit Flavor -By Default Using Small
 flavor: small
 
index d8d0639..3991dc6 100644 (file)
@@ -62,6 +62,10 @@ dependencies:
     version: ~8.x-0
     repository: '@local'
     condition: dcae-slice-analysis-ms.enabled
+  - name: dcae-snmptrap-collector
+    version: ~8.x-0
+    repository: '@local'
+    condition: dcae-snmptrap-collector.enabled
   - name: dcae-son-handler
     version: ~8.x-0
     repository: '@local'
index f620e12..0be24c9 100644 (file)
@@ -38,6 +38,8 @@ dcae-restconf-collector:
   enabled: false
 dcae-slice-analysis-ms:
   enabled: false
+dcae-snmptrap-collector:
+  enabled: false
 dcae-son-handler:
   enabled: false
 dcae-tcagen2: