1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
17 # Default values for osm.
18 # This is a YAML-formatted file.
19 # Declare variables to be passed into your templates.
24 # hostname to be used for the ingress objects
27 repositoryBase: docker.io/opensourcemano
28 pullPolicy: IfNotPresent
29 # Overrides the image tag whose default is the chart appVersion.
37 # Specifies whether a service account should be created
39 # Annotations to add to the service account
41 # The name of the service account to use.
42 # If not set and create is true, a name is generated using the fullname template
61 behindHttpProxy: false
63 # HTTP_PROXY: <HTTP_PROXY>
64 # HTTPS_PROXY: <HTTPS_PROXY>
65 # NO_PROXY: <NO_PROXY>
67 oldServiceAssurance: false
75 # host: alertmanager.<IP_ADDRESS>.nip.io
82 fullnameOverride: "grafana"
89 ingressClassName: nginx
91 # - grafana.<IP_ADDRESS>.nip.io
94 name: sc-dashboard-volume-k8s
96 name: sc-dashboard-volume-osm
98 - name: sc-dashboard-volume-k8s
99 mountPath: "/tmp/dashboards/Kubernetes Cluster"
100 - name: sc-dashboard-volume-osm
101 mountPath: "/tmp/dashboards/Open Source MANO"
103 extraClusterRoleRules:
117 - name: osm_prometheus
119 url: http://prometheus:9090
125 url: http://osm-monitoring-kube-promet-prometheus.monitoring:9090
133 - name: 'Kubernetes Cluster'
135 folder: 'Kubernetes Cluster'
137 disableDeletion: false
139 path: '/tmp/dashboards/Kubernetes Cluster'
140 - name: 'Open Source MANO'
142 folder: 'Open Source MANO'
144 disableDeletion: false
146 path: '/tmp/dashboards/Open Source MANO'
150 folder: "/tmp/dashboards/"
154 - name: sc-dashboard-volume-k8s
155 mountPath: "/tmp/dashboards/Kubernetes Cluster"
156 - name: sc-dashboard-volume-osm
157 mountPath: "/tmp/dashboards/Open Source MANO"
163 value: grafana_datasource
165 value: /etc/grafana/provisioning/datasources
168 image: kiwigrid/k8s-sidecar:1.15.6
169 imagePullPolicy: IfNotPresent
170 name: grafana-sc-datasources
172 terminationMessagePath: /dev/termination-log
173 terminationMessagePolicy: File
175 - mountPath: /etc/grafana/provisioning/datasources
182 protocol: "PLAINTEXT"
183 fullnameOverride: "kafka"
191 # repository: opensourcemano/keystone
192 # tag: "testing-daily"
195 # secretName: "keystone-secret"
201 # repository: opensourcemano/lcm
202 # tag: "testing-daily"
205 # secretName: "lcm-secret"
207 OSMLCM_VCA_CLOUD: "lxd-cloud"
208 OSMLCM_VCA_K8S_CLOUD: "k8scloud"
209 # OSMLCM_VCA_APIPROXY: "<VCA API proxy>"
210 # OSMLCM_VCA_ENABLEOSUPGRADE: true
211 # OSMLCM_VCA_APTMIRROR: "http://archive.ubuntu.com/ubuntu/"
217 # repository: opensourcemano/mon
218 # tag: "testing-daily"
221 # secretName: "mon-secret"
228 fullnameOverride: "mysql"
233 # host: nbi.<IP_ADDRESS>.nip.io
240 # repository: opensourcemano/nbi
241 # tag: "testing-daily"
244 # secretName: "nbi-secret"
253 # host: <IP_ADDRESS>.nip.io
255 # repository: opensourcemano/ng-ui
256 # tag: "testing-daily"
259 # pla module is disabled by default unless global.oldServiceAssurance and pla.enabled are set to true
264 # repository: opensourcemano/pla
265 # tag: "testing-daily"
268 # pol module is disabled by default unless global.oldServiceAssurance and pol.enabled are set to true
273 # repository: opensourcemano/pol
274 # tag: "testing-daily"
277 # secretName: "pol-secret"
284 prometheus-node-exporter:
290 - web.enable-lifecycle
293 configPath: /etc/prometheus/prometheus.yml
294 fullnameOverride: "prometheus"
301 ingressClassName: nginx
303 # - prometheus.<IP_ADDRESS>.nip.io
305 prometheus-config-sidecar:
307 # readOnlyRootFilesystem: true
308 allowPrivilegeEscalation: false
310 image: opensourcemano/prometheus:testing-daily
311 imagePullPolicy: IfNotPresent
312 command: ["/bin/sh", "-c"]
313 args: ["sleep 50; python -u ./app.py"]
316 mountPath: /etc/prometheus
317 - name: prom-config-base
318 mountPath: /etc/prometheus_base
326 name: osm-prometheus-sidecar-configmap
328 - name: prometheus-init-config
330 command: ["/bin/sh", "-c"]
331 #args: [' sleep 100000 ']
332 args: ['if [ ! -f "/etc/prometheus/prometheus.yml" ]; then cp /config/prometheus.yml /etc/prometheus; fi; cp /config/osm_metric_rules.yml /config/osm_alert_rules.yml /etc/prometheus']
335 mountPath: /etc/prometheus
336 - name: prom-config-base
340 mountPath: /etc/prometheus
344 - name: prom-config-base
348 name: osm-prom-configmap
350 - key: prometheus.yml
353 name: osm-prometheus-recordingrules-configmap
355 - key: osm_metric_rules.yml
356 path: osm_metric_rules.yml
358 name: osm-prometheus-alertingrules-configmap
360 - key: osm_alert_rules.yml
361 path: osm_alert_rules.yml
367 name: osm-prometheus-alertingrules-configmap
369 osm_alert_rules.yml: |
371 - name: osm_alert_rules
374 expr: vm_status_extended != 1
377 summary: "VDU {{ "{{" }} $labels.vm_id }} in VIM {{ "{{" }} $labels.vim_id }} is down"
378 description: "VDU {{ "{{" }} $labels.vm_id }} in VIM {{ "{{" }} $labels.vim_id }} has been down for more than 3 minutes. NS instance id is {{ "{{" }} $labels.ns_id }}"
383 name: osm-prometheus-recordingrules-configmap
385 osm_metric_rules.yml: |
387 - name: osm_metric_rules
389 - record: vm_status_extended
390 expr: (last_over_time(vm_status[1m]) * on (vm_id, vim_id) group_left(ns_id, vnf_id, vdu_id, project_id, job, vdu_name, vnf_member_index) last_over_time(ns_topology[1m])) or (last_over_time(ns_topology[1m]) * -1)
394 expr: (0 * (count (vm_status_extended==0) by (ns_id, vnf_id)>=0)) or (min by (ns_id, vnf_id) (vm_status_extended))
398 expr: (0 * (count (vm_status_extended==0) by (ns_id)>=0)) or (min by (ns_id) (vm_status_extended))
405 name: osm-prometheus-sidecar-configmap
407 MONGODB_URL: "mongodb://mongodb-k8s:27017/?replicaSet=rs0"
408 PROMETHEUS_CONFIG_FILE: "/etc/prometheus/prometheus.yml"
409 PROMETHEUS_BASE_CONFIG_FILE: "/etc/prometheus_base/prometheus.yml"
410 TARGET_DATABASE: "osm"
411 PROMETHEUS_URL: "http://prometheus:9090"
416 name: osm-prom-configmap
420 scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
421 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
422 # scrape_timeout is set to the global default (10s).
423 # Alertmanager configuration
430 - "osm_metric_rules.yml"
431 - "osm_alert_rules.yml"
433 - job_name: 'mon_exporter'
435 - targets: ['mon:8000']
436 - job_name: pushgateway
441 - pushgateway-prometheus-pushgateway:9091
442 - job_name: prometheus
448 - targets: ['prometheus-node-exporter:9100']
451 fullnameOverride: "alertmanager"
465 # pathType: ImplementationSpecific
469 - name: default-receiver
472 - url: http://webhook-translator:9998/vdu_down
473 - name: scaleout-webhook
475 - url: http://webhook-translator:9998/scaleout_vdu
476 - name: scalein-webhook
478 - url: http://webhook-translator:9998/scalein_vdu
479 - name: alarm-webhook
481 - url: http://webhook-translator:9998/vdu_alarm
485 receiver: default-receiver
487 - receiver: vdu-webhook
490 - alertname = "vdu_down"
491 - receiver: 'scaleout-webhook'
494 - alertname =~ "^scaleout_.*"
495 - receiver: 'scalein-webhook'
498 - alertname =~ "^scalein_.*"
499 - receiver: 'alarm-webhook'
502 - alertname =~ "^vdu_alarm_.*"
503 prometheus-pushgateway:
504 fullnameOverride: "pushgateway-prometheus-pushgateway"
512 # repository: opensourcemano/ro
513 # tag: "testing-daily"
516 # secretName: "ro-secret"
529 # repository: opensourcemano/webhook
530 # tag: "testing-daily"
532 # host: webhook.<IP_ADDRESS>.nip.io