From 988de7fff34f79d09f470237fb935d86b4ca8e1d Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sat, 29 May 2021 22:48:56 +0200 Subject: [PATCH] feat: add custom version fact --- tasks/prepare.yml | 13 +++++++++++++ tasks/setup.yml | 10 ++++++++++ templates/etc/ansible/facts.d/prometheus.fact.j2 | 4 ++++ 3 files changed, 27 insertions(+) create mode 100644 templates/etc/ansible/facts.d/prometheus.fact.j2 diff --git a/tasks/prepare.yml b/tasks/prepare.yml index 19a2cb9..033eca5 100644 --- a/tasks/prepare.yml +++ b/tasks/prepare.yml @@ -1,4 +1,11 @@ --- +- name: Set current prometheus version + set_fact: + prometheus_current_version: "{{ (ansible_local.prometheus | default (dict(version='0.0.0')))['version'] }}" + +- debug: + msg: Current version is '{{ prometheus_current_version }}' + - block: - name: Create group '{{ prometheus_group }}' group: @@ -19,5 +26,11 @@ state: present loop: - "{{ prometheus_packages }}" + + - name: Setup local facts + file: + path: /etc/ansible/facts.d + state: directory + mode: 0755 become: True become_user: root diff --git a/tasks/setup.yml b/tasks/setup.yml index 3436c51..74ae8a4 100644 --- a/tasks/setup.yml +++ b/tasks/setup.yml @@ -35,6 +35,7 @@ notify: __prometheus_restart become: True become_user: "{{ prometheus_user }}" + when: prometheus_version is version(prometheus_current_version, ">") or prometheus_current_version is version('0.0.0', "=") - block: - name: Copy prometheus config file @@ -111,5 +112,14 @@ daemon_reload: yes enabled: yes state: started + + - name: Set current version to custom fact + template: + src: etc/ansible/facts.d/prometheus.fact.j2 + dest: /etc/ansible/facts.d/prometheus.fact + mode: 0644 + owner: root + group: root + when: prometheus_version is version(prometheus_current_version, ">") or prometheus_current_version is version('0.0.0', "=") become: True become_user: root diff --git a/templates/etc/ansible/facts.d/prometheus.fact.j2 b/templates/etc/ansible/facts.d/prometheus.fact.j2 new file mode 100644 index 0000000..56ebd34 --- /dev/null +++ b/templates/etc/ansible/facts.d/prometheus.fact.j2 @@ -0,0 +1,4 @@ +{ + "comment" : "{{ ansible_managed }}", + "version" : "{{ prometheus_version }}" +}