12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # 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 != ""
|