Hii

On Wed, 5 Jan 2022 at 20:09, 'Neil Young' via Ansible Project
<[email protected]> wrote:
>
> And this is all I wanted:
>
> # ansible-playbook -l offline -i hosts.cfg test.yml
>
> ./test.yml:
>
>
> - hosts: all
>
> pre_tasks:
> # Test if there was a previous source installation of KMS
> - name: Test if there was a KMS source installation running before
> stat:
> path: ~/.kms_installed_from_source
> register: kms_trace
>
> vars:
> kms_installed_from_source: '{{ true if (kms_trace.stat.exists) else false }}'

You have the 'vars' section after 'pre_tasks', giving the impression
that this matters, while it doesn't.
It can be anywhere.
However, while it can be listed anywhere, it won't always work,
because kms_installed_from_source won't be available if used in tasks
that are earlier than the 'stat' task.

Things will be less ambiguous if you use a set_fact task, so it is
clear where the variable is actually set.

Regarding 'pre_tasks' (as well as post_tasks), I find those somewhat
confusing. I always have just 'tasks' and then the order of the tasks
is as they appear in that list. I'm saying because I've seen
post_tasks being put at the beginning, and the other way around.

The "true if (kms_trace.stat.exists) else false" is unnecessary as
stat.exists is already a boolean.
Concluding, if you must use a dedicated variale, then this task (as
part of just 'tasks') should be sufficient:

- set_fact:
     kms_installed_from_source: '{{ kms_trace.stat.exists }}'

Obviously the stat task needs to be executed before this. But if
that's listed in that order, there is no ambiguity.

DIck

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAL8fbwOXy87603YTuuKSGM3%2BcegDzBaksm0tOR06rV2XQupmNQ%40mail.gmail.com.

Reply via email to