--- - 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!"