X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fhelm%2Fosm%2Fvalues.yaml;h=1575136bf2e16df2c6c6c949f167b4315f44b48a;hb=027f8ee24f2293c0ae049ecccf31be000da72e85;hp=0cdfe6a18fbda570b35ddaf6865e5e44f59ff879;hpb=17c1be29e9f123785b573ad375c152414bd02260;p=osm%2Fdevops.git diff --git a/installers/helm/osm/values.yaml b/installers/helm/osm/values.yaml index 0cdfe6a1..1575136b 100644 --- a/installers/helm/osm/values.yaml +++ b/installers/helm/osm/values.yaml @@ -21,7 +21,8 @@ global: replicaCount: 1 logLevel: INFO - + # hostname to be used for the ingress objects + hostname: ~ image: repositoryBase: docker.io/opensourcemano pullPolicy: IfNotPresent @@ -68,11 +69,111 @@ global: airflow: enabled: true +alertmanager: + enabled: true + ingress: {} + # host: alertmanager..nip.io + certauth: enabled: true grafana: enabled: true + fullnameOverride: "grafana" + # service: + # type: NodePort + # nodePort: 3000 + # port: 3000 + ingress: + enabled: true + ingressClassName: nginx + # hosts: + # - grafana..nip.io + extraVolumes: + - emptyDir: {} + name: sc-dashboard-volume-k8s + - emptyDir: {} + name: sc-dashboard-volume-osm + extraVolumeMounts: + - name: sc-dashboard-volume-k8s + mountPath: "/tmp/dashboards/Kubernetes Cluster" + - name: sc-dashboard-volume-osm + mountPath: "/tmp/dashboards/Open Source MANO" + rbac: + extraClusterRoleRules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - get + - watch + - list + datasources: + datasource.yaml: + apiVersion: 1 + datasources: + - name: osm_prometheus + type: prometheus + url: http://prometheus:9090 + access: proxy + allowUiUpdates: true + isDefault: true + - name: Prometheus + type: prometheus + url: http://osm-monitoring-kube-promet-prometheus.monitoring:9090 + access: proxy + allowUiUpdates: true + isDefault: false + dashboardProviders: + provider.yaml: + apiVersion: 1 + providers: + - name: 'Kubernetes Cluster' + orgId: 1 + folder: 'Kubernetes Cluster' + type: file + disableDeletion: false + options: + path: '/tmp/dashboards/Kubernetes Cluster' + - name: 'Open Source MANO' + orgId: 1 + folder: 'Open Source MANO' + type: file + disableDeletion: false + options: + path: '/tmp/dashboards/Open Source MANO' + sidecar: + dashboards: + enabled: true + folder: "/tmp/dashboards/" + resource: both + searchNamespace: osm + extraMounts: + - name: sc-dashboard-volume-k8s + mountPath: "/tmp/dashboards/Kubernetes Cluster" + - name: sc-dashboard-volume-osm + mountPath: "/tmp/dashboards/Open Source MANO" + extraInitContainers: + - env: + - name: METHOD + value: LIST + - name: LABEL + value: grafana_datasource + - name: FOLDER + value: /etc/grafana/provisioning/datasources + - name: RESOURCE + value: both + image: kiwigrid/k8s-sidecar:1.15.6 + imagePullPolicy: IfNotPresent + name: grafana-sc-datasources + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /etc/grafana/provisioning/datasources + name: config kafka: enabled: true @@ -128,11 +229,13 @@ mysql: nbi: enabled: true + ingress: {} + # host: nbi..nip.io logLevel: DEBUG - service: - type: NodePort - port: 9999 - nodePort: 9999 + service: {} + # type: NodePort + # port: 9999 + # nodePort: 9999 image: {} # repository: opensourcemano/nbi # tag: "testing-daily" @@ -142,10 +245,12 @@ nbi: ngui: enabled: true - service: - type: NodePort - port: 80 - nodePort: 80 + service: {} + # type: NodePort + # port: 80 + # nodePort: 80 + ingress: {} + # host: .nip.io image: {} # repository: opensourcemano/ng-ui # tag: "testing-daily" @@ -173,13 +278,230 @@ pol: prometheus: enabled: true - service: - type: NodePort - nodePort: 9091 - # replicaCount: 1 - sidecarImage: {} - # repository: opensourcemano/ro - # tag: "testing-daily" + configmapReload: + prometheus: + enabled: true + prometheus-node-exporter: + enabled: false + kube-state-metrics: + enabled: false + server: + extraFlags: + - web.enable-lifecycle + statefulSet: + enabled: true + configPath: /etc/prometheus/prometheus.yml + fullnameOverride: "prometheus" + service: + servicePort: 9090 + # type: NodePort + # nodePort: 9091 + ingress: + enabled: true + ingressClassName: nginx + # hosts: + # - prometheus..nip.io + sidecarContainers: + prometheus-config-sidecar: + securityContext: + # readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + # runAsNonRoot: true + image: opensourcemano/prometheus:testing-daily + imagePullPolicy: IfNotPresent + command: ["/bin/sh", "-c"] + args: ["sleep 50; python -u ./app.py"] + volumeMounts: + - name: prom-config + mountPath: /etc/prometheus + - name: prom-config-base + mountPath: /etc/prometheus_base + resources: + limits: + memory: 1024Mi + requests: + memory: 128Mi + envFrom: + - configMapRef: + name: osm-prometheus-sidecar-configmap + extraInitContainers: + - name: prometheus-init-config + image: busybox + command: ["/bin/sh", "-c"] + #args: [' sleep 100000 '] + 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'] + volumeMounts: + - name: prom-config + mountPath: /etc/prometheus + - name: prom-config-base + mountPath: /config + extraVolumeMounts: + - name: prom-config + mountPath: /etc/prometheus + extraVolumes: + - name: prom-config + emptyDir: {} + - name: prom-config-base + projected: + sources: + - configMap: + name: osm-prom-configmap + items: + - key: prometheus.yml + path: prometheus.yml + - configMap: + name: osm-prometheus-recordingrules-configmap + items: + - key: osm_metric_rules.yml + path: osm_metric_rules.yml + - configMap: + name: osm-prometheus-alertingrules-configmap + items: + - key: osm_alert_rules.yml + path: osm_alert_rules.yml + extraManifests: + - | + apiVersion: v1 + kind: ConfigMap + metadata: + name: osm-prometheus-alertingrules-configmap + data: + osm_alert_rules.yml: | + groups: + - name: osm_alert_rules + rules: + - alert: vdu_down + expr: vm_status_extended != 1 + for: 3m + annotations: + summary: "VDU {{ "{{" }} $labels.vm_id }} in VIM {{ "{{" }} $labels.vim_id }} is down" + 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 }}" + - | + apiVersion: v1 + kind: ConfigMap + metadata: + name: osm-prometheus-recordingrules-configmap + data: + osm_metric_rules.yml: | + groups: + - name: osm_metric_rules + rules: + - record: vm_status_extended + 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) + labels: + job: osm_prometheus + - record: vnf_status + expr: (0 * (count (vm_status_extended==0) by (ns_id, vnf_id)>=0)) or (min by (ns_id, vnf_id) (vm_status_extended)) + labels: + job: osm_prometheus + - record: ns_status + expr: (0 * (count (vm_status_extended==0) by (ns_id)>=0)) or (min by (ns_id) (vm_status_extended)) + labels: + job: osm_prometheus + - | + apiVersion: v1 + kind: ConfigMap + metadata: + name: osm-prometheus-sidecar-configmap + data: + MONGODB_URL: "mongodb://mongodb-k8s:27017/?replicaSet=rs0" + PROMETHEUS_CONFIG_FILE: "/etc/prometheus/prometheus.yml" + PROMETHEUS_BASE_CONFIG_FILE: "/etc/prometheus_base/prometheus.yml" + TARGET_DATABASE: "osm" + PROMETHEUS_URL: "http://prometheus:9090" + - | + apiVersion: v1 + kind: ConfigMap + metadata: + name: osm-prom-configmap + data: + prometheus.yml: | + global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + # Alertmanager configuration + alerting: + alertmanagers: + - static_configs: + - targets: + - alertmanager:9093 + rule_files: + - "osm_metric_rules.yml" + - "osm_alert_rules.yml" + scrape_configs: + - job_name: 'mon_exporter' + static_configs: + - targets: ['mon:8000'] + - job_name: pushgateway + honor_labels: true + scrape_interval: 30s + static_configs: + - targets: + - pushgateway-prometheus-pushgateway:9091 + - job_name: prometheus + static_configs: + - targets: + - localhost:9090 + - job_name: node + static_configs: + - targets: ['prometheus-node-exporter:9100'] + alertmanager: + enabled: true + fullnameOverride: "alertmanager" + extraArgs: + log.level: debug + # service: + # type: NodePort + # nodePort: 9093 + # port: 9093 + # ingress: + # enabled: True + # className: nginx + # hosts: + # - host: localhost + # paths: + # - path: / + # pathType: ImplementationSpecific + # tls: [] + config: + receivers: + - name: default-receiver + - name: vdu-webhook + webhook_configs: + - url: http://webhook-translator:9998/vdu_down + - name: scaleout-webhook + webhook_configs: + - url: http://webhook-translator:9998/scaleout_vdu + - name: scalein-webhook + webhook_configs: + - url: http://webhook-translator:9998/scalein_vdu + - name: alarm-webhook + webhook_configs: + - url: http://webhook-translator:9998/vdu_alarm + route: + group_wait: 10s + group_interval: 2m + receiver: default-receiver + routes: + - receiver: vdu-webhook + repeat_interval: 15m + matchers: + - alertname = "vdu_down" + - receiver: 'scaleout-webhook' + repeat_interval: 5m + matchers: + - alertname =~ "^scaleout_.*" + - receiver: 'scalein-webhook' + repeat_interval: 5m + matchers: + - alertname =~ "^scalein_.*" + - receiver: 'alarm-webhook' + repeat_interval: 5m + matchers: + - alertname =~ "^vdu_alarm_.*" + prometheus-pushgateway: + fullnameOverride: "pushgateway-prometheus-pushgateway" ro: enabled: true @@ -202,11 +524,14 @@ vca: webhookTranslator: enabled: true - service: - type: NodePort - nodePort: 9998 - port: 9998 + # replicaCount: 1 image: {} # repository: opensourcemano/webhook # tag: "testing-daily" + ingress: {} + # host: webhook..nip.io # replicaCount: 1 + service: {} + # type: NodePort + # nodePort: 9998 + # port: 9998