Yepp. Works. Many thanks. I also tried to simplify my true/false derivation before to no avail, but now it works. Thanks
Neil Young schrieb am Mittwoch, 5. Januar 2022 um 20:44:37 UTC+1: > Hi Dick, > Thanks for your elaborated answer. > > The reason for having vars after stat is that I feared the "not defined" > issue. I never tried to have vars before, but since I will try your > set_fact approach, this doesn't matter either. > > Thanks. > > > [email protected] schrieb am Mittwoch, 5. Januar 2022 um 20:41:53 UTC+1: > >> 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/6da0846c-d5b0-4135-ab02-85c000cc8011n%40googlegroups.com.
