# Copyright 2021 Dell Inc. or its subsidiaries. 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. --- - name: Include control_plane_monitoring variables include_vars: "{{ role_path }}/../../control_plane/roles/control_plane_monitoring/vars/main.yml" - name: Create prometheus datasource in grafana community.grafana.grafana_datasource: name: "hpc-prometheus-{{ ansible_default_ipv4.address }}" grafana_url: "http://{{ grafana_svc_ip }}:{{ grafana_svc_port }}" grafana_user: "{{ grafana_username }}" grafana_password: "{{ grafana_password }}" ds_type: prometheus ds_url: "http://{{ ansible_default_ipv4.address }}" access: direct delegate_to: localhost no_log: true - name: Replace data source in slurm dashboard replace: path: "{{ role_path }}/files/{{ item }}" regexp: '"uid": "hpc.*' replace: '"uid": "hpc-prometheus-{{ ansible_default_ipv4.address }}"' with_items: "{{ slurm_dashboard_json_files }}" delegate_to: localhost - name: Replace title in slurm dashboard (1/2) replace: path: "{{ role_path }}/files/slurm-dashboard-node-exporter.json" regexp: '"title": "SLURM - Node Exporter Server Metrics.*' replace: '"title": "SLURM - Node Exporter Server Metrics - ({{ ansible_default_ipv4.address }})",' delegate_to: localhost - name: Replace title in slurm dashboard (2/2) replace: path: "{{ role_path }}/files/slurm-dashboard.json" regexp: '"title": "SLURM - CPUs/GPUs, Nodes, Jobs, Scheduler.*' replace: '"title": "SLURM - CPUs/GPUs, Nodes, Jobs, Scheduler ({{ ansible_default_ipv4.address }})",' delegate_to: localhost - name: Import Slurm Grafana dashboards community.grafana.grafana_dashboard: grafana_url: "http://{{ grafana_svc_ip }}:{{ grafana_svc_port }}" grafana_user: "{{ grafana_username }}" grafana_password: "{{ grafana_password }}" state: present commit_message: Updated by ansible overwrite: yes path: "{{ role_path }}/files/{{ item }}" with_items: "{{ slurm_dashboard_json_files }}" delegate_to: localhost no_log: true