Files
2025-12-16 11:56:52 +03:00

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 smartctl_exporter is installed"
changed_when: false
ansible.builtin.command: "smartctl_exporter --version"
register: smartctl_exporter_installed_version
- name: "Check smartctl_exporter version"
ansible.builtin.assert:
that: "smartctl_exporter_installed_version.stderr is regex('{{ smartctl_exporter_version }}')"
success_msg: "smartctl_exporter version {{ smartctl_exporter_version }} is installed and working"
fail_msg: "smartctl_exporter version {{ smartctl_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://{{ smartctl_exporter_web_listen_address }}/metrics"
return_content: true
status_code: 200
timeout: 5
register: smartctl_exporter_metrics_check
- name: "Fail if /metrics doesn't contain smartctl_exporter_build_info line"
ansible.builtin.assert:
that: "'smartctl_exporter_build_info' in smartctl_exporter_metrics_check.content"
fail_msg: "smartctl_exporter /metrics endpoint doesn't contain smartctl_exporter_build_info line!"
success_msg: "smartctl_exporter /metrics endpoint contains smartctl_exporter_build_info line!"