38 lines
1.5 KiB
YAML
38 lines
1.5 KiB
YAML
---
|
|
- name: Verify
|
|
hosts: all
|
|
gather_facts: false
|
|
any_errors_fatal: true
|
|
|
|
tasks:
|
|
- name: "Include default vars"
|
|
ansible.builtin.include_vars:
|
|
dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/"
|
|
extensions: ['yml']
|
|
|
|
- name: "Check if ipmi_exporter is installed"
|
|
changed_when: false
|
|
ansible.builtin.command: "ipmi_exporter --version"
|
|
register: ipmi_exporter_installed_version
|
|
|
|
- name: "Check ipmi_exporter version"
|
|
ansible.builtin.assert:
|
|
that: "ipmi_exporter_installed_version.stdout is regex('{{ ipmi_exporter_version }}')"
|
|
success_msg: "ipmi_exporter version {{ ipmi_exporter_version }} is installed and working"
|
|
fail_msg: "ipmi_exporter version {{ ipmi_exporter_version }} is not installed or not working correctly"
|
|
|
|
# kics-scan ignore-block
|
|
- name: Check if /metrics endpoint is reachable
|
|
ansible.builtin.uri:
|
|
url: "http://{{ ipmi_exporter_web_listen_address }}/metrics"
|
|
return_content: true
|
|
status_code: 200
|
|
timeout: 60
|
|
register: ipmi_exporter_metrics_check
|
|
|
|
- name: "Fail if /metrics doesn't contain ipmi_exporter_build_info line"
|
|
ansible.builtin.assert:
|
|
that: "'ipmi_exporter_build_info' in ipmi_exporter_metrics_check.content"
|
|
fail_msg: "ipmi_exporter /metrics endpoint doesn't contain ipmi_exporter_build_info line!"
|
|
success_msg: "ipmi_exporter /metrics endpoint contains ipmi_exporter_build_info line!"
|