e38ca5c722
check if generated prometheus config is valid via promtool. This should help prevent bugs like: https://bugs.launchpad.net/kolla-ansible/+bug/2076660 prior art: haproxy config validation: https://review.opendev.org/c/openstack/kolla-ansible/+/922840 also add some basic documentation for the `kolla-ansible validate-config` command. Signed-off-by: Sven Kieske <kieske@osism.tech> Change-Id: Ief90861b2c422e0e6c2dd9cb605c94e86c0f2ba1
29 lines
1.0 KiB
YAML
29 lines
1.0 KiB
YAML
---
|
|
- name: Validating prometheus config files
|
|
vars:
|
|
service: "{{ prometheus_services['prometheus-server'] }}"
|
|
shell: >-
|
|
{{ kolla_container_engine }} exec -i {{ service.container_name }} bash -c
|
|
"/opt/prometheus/promtool check config /etc/prometheus/prometheus.yml;
|
|
/opt/prometheus/promtool check web-config /etc/prometheus/web.yml"
|
|
register: "prometheus_config_validation_results"
|
|
check_mode: false
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
|
|
- name: Assert prometheus config files are valid
|
|
vars:
|
|
service: "{{ prometheus_services['prometheus-server'] }}"
|
|
assert:
|
|
that: "prometheus_config_validation_results.rc == 0"
|
|
fail_msg: >-
|
|
"{{ service.container_name }} config files are invalid, the output was:
|
|
{{ prometheus_config_validation_results.stdout }}"
|
|
success_msg: >-
|
|
"{{ service.container_name }} config files are valid"
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|