aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/DAaaS/collection/charts/collectd/templates
diff options
context:
space:
mode:
authorDileep Ranganathan <dileep.ranganathan@intel.com>2019-03-05 10:24:06 -0800
committerDileep Ranganathan <dileep.ranganathan@intel.com>2019-03-05 10:38:48 -0800
commit3dfd3180c0a4d192f4524d74e36d2ba50bffff71 (patch)
tree7df49d15b185b73af9a902b17323e5fba46b208f /vnfs/DAaaS/collection/charts/collectd/templates
parent1b81e8f0b51576f761aa8e3329285bfb61e6dd79 (diff)
Collection Service Helm charts package
The packages needed for distributed analytics are separated as collection, messaging, training, inference and visualization. Collection package consists of collection agents, Prometheus operator. and Prometheus. Change-Id: I12c6ed0607fbaedf7bbc207562fb5bf2a1950623 Issue-ID: ONAPARC-366 Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Diffstat (limited to 'vnfs/DAaaS/collection/charts/collectd/templates')
-rw-r--r--vnfs/DAaaS/collection/charts/collectd/templates/NOTES.txt1
-rw-r--r--vnfs/DAaaS/collection/charts/collectd/templates/_helpers.tpl25
-rw-r--r--vnfs/DAaaS/collection/charts/collectd/templates/configmap.yaml71
-rw-r--r--vnfs/DAaaS/collection/charts/collectd/templates/daemonset.yaml81
-rw-r--r--vnfs/DAaaS/collection/charts/collectd/templates/service.yaml32
5 files changed, 210 insertions, 0 deletions
diff --git a/vnfs/DAaaS/collection/charts/collectd/templates/NOTES.txt b/vnfs/DAaaS/collection/charts/collectd/templates/NOTES.txt
new file mode 100644
index 00000000..cb1494f1
--- /dev/null
+++ b/vnfs/DAaaS/collection/charts/collectd/templates/NOTES.txt
@@ -0,0 +1 @@
+1. CollectD Charts
diff --git a/vnfs/DAaaS/collection/charts/collectd/templates/_helpers.tpl b/vnfs/DAaaS/collection/charts/collectd/templates/_helpers.tpl
new file mode 100644
index 00000000..b5e98086
--- /dev/null
+++ b/vnfs/DAaaS/collection/charts/collectd/templates/_helpers.tpl
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+*/}}
+{{- define "fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/* Workaround for https://github.com/helm/helm/issues/3117 */}}
+{{- define "rangeskipempty" -}}
+{{- range $key, $value := . }}
+{{- if $value }}
+{{ $key }}: {{ $value }}
+{{- end }}
+{{- end }}
+{{- end }} \ No newline at end of file
diff --git a/vnfs/DAaaS/collection/charts/collectd/templates/configmap.yaml b/vnfs/DAaaS/collection/charts/collectd/templates/configmap.yaml
new file mode 100644
index 00000000..90cbf176
--- /dev/null
+++ b/vnfs/DAaaS/collection/charts/collectd/templates/configmap.yaml
@@ -0,0 +1,71 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "fullname" . }}-config
+ labels:
+ app: {{ template "name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+data:
+ node-collectd.conf: |-
+ FQDNLookup false
+
+ LoadPlugin cpu
+ LoadPlugin memory
+ LoadPlugin cpufreq
+ LoadPlugin disk
+ LoadPlugin ethstat
+ LoadPlugin ipc
+ LoadPlugin ipmi
+ LoadPlugin load
+ LoadPlugin numa
+ LoadPlugin processes
+ LoadPlugin df
+ LoadPlugin turbostat
+ LoadPlugin uptime
+ LoadPlugin contextswitch
+ LoadPlugin irq
+ LoadPlugin df
+ LoadPlugin swap
+ LoadPlugin write_prometheus
+
+ LoadPlugin logfile
+ <Plugin logfile>
+ LogLevel info
+ File "/var/log/collectd.log"
+ Timestamp true
+ PrintSeverity false
+ </Plugin>
+ <Plugin "cpu">
+ Interval 5
+ ReportByState false
+ ReportByCpu false
+ </Plugin>
+
+ <Plugin "memory">
+ Interval 30
+ ValuesAbsolute false
+ ValuesPercentage true
+ </Plugin>
+
+ <Plugin "write_prometheus">
+ Port "{{ .Values.prometheus_port }}"
+ </Plugin>
+
+ #Last line (collectd requires ā€˜\nā€™ at the last line)
diff --git a/vnfs/DAaaS/collection/charts/collectd/templates/daemonset.yaml b/vnfs/DAaaS/collection/charts/collectd/templates/daemonset.yaml
new file mode 100644
index 00000000..209b853d
--- /dev/null
+++ b/vnfs/DAaaS/collection/charts/collectd/templates/daemonset.yaml
@@ -0,0 +1,81 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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.
+*/}}
+
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+ name: {{ template "fullname" . }}
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+ labels:
+ app: {{ template "name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ template "name" . }}
+ collector: collectd
+ release: {{ .Release.Name }}
+ spec:
+ hostNetwork: true
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ securityContext:
+ privileged: true
+ volumeMounts:
+ - name: {{ template "fullname" . }}-config
+ mountPath: /opt/collectd/etc
+ - name: proc
+ mountPath: /mnt/proc
+ readOnly: true
+ - name: root
+ mountPath: /hostfs
+ readOnly: true
+ - name: etc
+ mountPath: /mnt/etc
+ readOnly: true
+ - name: run
+ mountPath: /var/run/docker.sock
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end }}
+ volumes:
+ - name: {{ template "fullname" . }}-config
+ configMap:
+ name: {{ template "fullname" . }}-config
+ items:
+ - key: node-collectd.conf
+ path: collectd.conf
+ - name: proc
+ hostPath:
+ path: /proc
+ - name: root
+ hostPath:
+ path: /
+ - name: etc
+ hostPath:
+ path: /etc
+ - name: run
+ hostPath:
+ path: /var/run/docker.sock \ No newline at end of file
diff --git a/vnfs/DAaaS/collection/charts/collectd/templates/service.yaml b/vnfs/DAaaS/collection/charts/collectd/templates/service.yaml
new file mode 100644
index 00000000..37be5cc5
--- /dev/null
+++ b/vnfs/DAaaS/collection/charts/collectd/templates/service.yaml
@@ -0,0 +1,32 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: collectd-metrics
+ labels:
+ app: collectd
+ release: {{ .Release.Name }}
+spec:
+ ports:
+ - name: collectd-prometheus
+ port: {{ .Values.collectd_prometheus.service.port }}
+ protocol: TCP
+ targetPort: {{ .Values.collectd_prometheus.service.targetPort }}
+ selector:
+{{ include "rangeskipempty" .Values.collectd_prometheus.service.selector | indent 4 }}
+ type: ClusterIP