aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/file_wait
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2023-08-20 18:38:17 +0200
committerEgor Tensin <Egor.Tensin@gmail.com>2023-08-20 21:43:59 +0200
commit97b930c6edc7973497f469ae859fa2258cbea4d6 (patch)
tree822382f2275cc25cb7d6d280cc37a17d0c7e1214 /roles/file_wait
parentv0.0.16 (diff)
downloadinfra-ansible-97b930c6edc7973497f469ae859fa2258cbea4d6.tar.gz
infra-ansible-97b930c6edc7973497f469ae859fa2258cbea4d6.zip
use variables instead facts mostly everywhere
set_fact is stupid; they persist through multiple role executions; for example, you cannot do this: set_fact: foo: '{{ foo | default("bar") }}' If somebody calls the role and defines foo, it will always be set to that value forever, even for subsequent role calls.
Diffstat (limited to '')
-rw-r--r--roles/file_wait/tasks/check.yml14
-rw-r--r--roles/file_wait/tasks/main.yml4
2 files changed, 11 insertions, 7 deletions
diff --git a/roles/file_wait/tasks/check.yml b/roles/file_wait/tasks/check.yml
index aa55830..47122b7 100644
--- a/roles/file_wait/tasks/check.yml
+++ b/roles/file_wait/tasks/check.yml
@@ -13,17 +13,17 @@
ignore_unreachable: true
ignore_errors: true
-- name: If the host restarted, try again
+- name: If host restarted, try again
when: file_wait_check is unreachable
block:
- - name: Log the number of tolerable reboots
+ - name: Show number of reboots
ansible.builtin.debug:
- msg: 'Number of tolerable reboots: {{ file_wait_reboots }}'
+ msg: 'Number of reboots left: {{ file_wait_reboots_left }}'
- - name: Decrement the number of tolerable reboots
+ - name: Decrement number of reboots
ansible.builtin.set_fact:
- file_wait_reboots: '{{ (file_wait_reboots | int) - 1 }}'
+ file_wait_reboots_left: '{{ (file_wait_reboots_left | int) - 1 }}'
- - name: Retry if there're more tolerable reboots
+ - name: Retry if there're more reboots
ansible.builtin.include_tasks: check.yml
- when: (file_wait_reboots | int >= 0)
+ when: (file_wait_reboots_left | int >= 0)
diff --git a/roles/file_wait/tasks/main.yml b/roles/file_wait/tasks/main.yml
index 9afef57..169f834 100644
--- a/roles/file_wait/tasks/main.yml
+++ b/roles/file_wait/tasks/main.yml
@@ -1,3 +1,7 @@
+- name: Reset number of reboots
+ ansible.builtin.set_fact:
+ file_wait_reboots_left: '{{ file_wait_reboots }}'
+
- name: Check if file exists
ansible.builtin.include_tasks: check.yml