12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # 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: Include k8s_start_services variables
- include_vars: ../../k8s_start_services/vars/main.yml
- - block:
- - 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 }}:{{ nginx_listen_port }}"
- access: direct
- delegate_to: localhost
- no_log: true
- register: create_slurm_prom_datasource
- rescue:
- - name: Create prometheus datasource in grafana failed
- fail:
- msg: "Error: {{ create_slurm_prom_datasource.msg }}"
- - 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
- - block:
- - 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
- register: import_prom_dashboards
- rescue:
- - name: Import K8s grafana dashboards failed
- fail:
- msg: "Error: {{ import_prom_dashboards.msg }}"
|