# 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: Download and untar prometheus stable version unarchive: src: "{{ prometheus_git_repo }}" dest: "{{ installation_dir }}" remote_src: yes - name: Copy prometheus executable to /usr/local/bin copy: src: "{{ prometheus_exec_path }}" dest: "{{ system_local_path }}" remote_src: yes mode: "{{ file_permission }}" - name: Configure prometheus for slurm exporter blockinfile: path: "{{ prometheus_config_file }}" insertafter: EOF mode: "{{ file_permission }}" block: | # SLURM resource manager: - job_name: 'my_slurm_exporter' scrape_interval: 30s scrape_timeout: 30s static_configs: - targets: ['localhost:{{ slurm_exporter_port }}'] - name: Install & configure nginx block: - name: Install nginx package: name: nginx state: present when: ansible_facts['distribution'] != opensuse_os_name - name: Install nginx zypper: name: nginx state: present when: ansible_facts['distribution'] == opensuse_os_name - name: Configure nginx.conf (1/2) replace: path: "{{ playbook_dir }}/roles/k8s_start_services/templates/nginx.conf.j2" regexp: ' server_name .*' replace: " server_name {{ ansible_default_ipv4.address }};" delegate_to: localhost - name: Configure nginx.conf (2/2) replace: path: "{{ playbook_dir }}/roles/k8s_start_services/templates/nginx.conf.j2" regexp: ' proxy_pass http://.*' replace: " proxy_pass {{ prometheus_ip }};" delegate_to: localhost - name: Load nginx conf template: src: "{{ playbook_dir }}/roles/k8s_start_services/templates/nginx.conf.j2" dest: "{{ nginx_conf_file_path }}" mode: "{{ nginx_conf_file_mode }}" - name: Validate nginx conf file command: nginx -t changed_when: false - name: Start and enable nginx service service: name: nginx state: restarted enabled: yes when: - grafana_svc_ip != "" - grafana_svc_port != ""