# Copyright 2022 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: 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: "{{ hostvars['127.0.0.1']['grafana_username'] }}" grafana_password: "{{ hostvars['127.0.0.1']['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: "{{ hostvars['127.0.0.1']['grafana_username'] }}" grafana_password: "{{ hostvars['127.0.0.1']['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