From c9c812343831be1bb56965b2aeff41eecdae0a11 Mon Sep 17 00:00:00 2001 From: Colin Wilk Date: Wed, 11 Oct 2023 15:34:10 +0200 Subject: Add run_once option for handlers This adds the run_once option for the two handler types (shell and command). The variables `prometheus_target_handler_command_run_once` and `prometheus_target_handler_shell_run_once` are introduced to control this behavior. For this change a switch from the Ansible Handlers to regular tasks was necessary to enforce run_once behavior with delegated hosts. If you don't rely on handler specific features such as deferring, nothing changes when using the role. Signed-off-by: Colin Wilk --- molecule/default/converge.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'molecule/default/converge.yml') diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index 9346988..cb6a281 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -83,7 +83,7 @@ ################################################################################ ################################################################################ - name: Deploy with hooks - hosts: application + hosts: application_group pre_tasks: - name: Create targets ansible.builtin.file: @@ -96,23 +96,23 @@ delegate_to: '{{ prometheus_target_host }}' loop: - /opt/hook_target.yml - - /opt/hook1 - - /opt/hook1 + - /opt/hook2 vars: prometheus_target_host: prometheus prometheus_target_handler_command_enabled: true prometheus_target_handler_command: - cmd: touch /opt/hook1 + cmd: mkdir /opt/hook1 # Fails if run twice + prometheus_target_handler_command_run_once: true prometheus_target_handler_shell_enabled: true prometheus_target_handler_shell: - cmd: touch /opt/hook2 + cmd: echo hello >> /opt/hook2 roles: - role: kliwniloc.prometheus_target prometheus_target_exporter: - id: node_exporter - host: application + host: '{{ inventory_hostname }}' path: /opt/hook_target.yml ################################################################################ -- cgit v1.2.3