Maybe I didn't get it

> Am 05.01.2022 um 20:11 schrieb Wei-Yen Tan <[email protected]>:
> 
> Which is if you look closely what I wrote. Similar to what I said 😊. Register 
> the results from stat. Feed that into template. Thank you for taking my 
> suggestion. 
> 
> Get Outlook for iOS <https://aka.ms/o0ukef>
> From: 'Neil Young' via Ansible Project <[email protected]>
> Sent: Thursday, January 6, 2022 8:08:45 AM
> To: Ansible Project <[email protected]>
> Subject: Re: [ansible-project] Variable state depending on existence of a 
> file on host system - possible?
>  
> 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 }}'
> 
> 
> 
> tasks:
> 
> - name: Copy config file, when kms_installed_from_source is defined
> 
> tags: copy
> 
> template:
> 
> src: templates/test.j2
> 
> dest: test.cfg
> 
> when: kms_installed_from_source
> 
> 
> 
> - name: Copy config file, when kms_installed_from_source is not defined
> 
> tags: copy
> 
> template:
> 
> src: templates/test.j2
> 
> dest: test.cfg
> 
> when: not kms_installed_from_source
> 
> 
> 
> - name: Print
> 
> debug:
> 
> msg: 
> 
> - 'Status of "kms_installed_from_source": {{ kms_installed_from_source}}'
> 
> 
> 
> 
> 
> 
> 
> ./templates/test.j2:
> 
> 
> 
> 
> 
> 
> {% if kms_installed_from_source %}
> 
> kms_installed_from_source is defined
> 
> {% else %}
> 
> kms_installed_from_source is not defined
> 
> {% endif %}
> 
> 
> 
> 
> 
> 
> 
> 
> Works
> 
> 
> Neil Young schrieb am Mittwoch, 5. Januar 2022 um 19:43:17 UTC+1:
> Well it is easier as I thought. Should have tried by myself before having 
> asked here. Sharing the result. Still need to derive the var from the file 
> stat, but hoping it is possible:
> 
> test.yml:
> 
> 
> # ansible-playbook -l offline -i hosts.cfg test.yml
> 
> 
> 
> - hosts: all
> 
> 
> 
> vars:
> 
> test: true
> 
> 
> 
> tasks:
> 
> 
> 
> - name: Copy config file, when test is defined
> 
> tags: copy
> 
> template:
> 
> src: templates/test.j2
> 
> dest: test.cfg
> 
> when: test
> 
> 
> 
> - name: Copy config file, when test is not defined
> 
> tags: copy
> 
> template:
> 
> src: templates/test.j2
> 
> dest: test.cfg
> 
> when: not test
> 
> 
> 
> 
> 
> templates/test.j2:
> 
> 
> 
> 
> {% if test %}
> 
> Test is defined
> 
> {% else %}
> 
> Test is not defined
> 
> {% endif %}
> 
> 
> 
> 
> 
> 
> 
> A run with test=true skips the second copy task (as desired) and produces a 
> file, which states "Test is defined" (as desired). The other way around with 
> test=false
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> decades software schrieb am Mittwoch, 5. Januar 2022 um 19:22:43 UTC+1:
> Exactly. Thanks
> 
> 
> 
>> Am 05.01.2022 um 19:21 schrieb Wei-Yen Tan <[email protected] <>>:
>> 
> 
>> Can't see  why you can't just run it before the template task. But your 
>> choice really. 
>> 
>> Get Outlook for iOS <https://aka.ms/o0ukef>
>> From: [email protected] <> <[email protected] <>> on 
>> behalf of decades software <[email protected] <>>
>> Sent: Thursday, January 6, 2022 7:14:58 AM
>> To: [email protected] <> <[email protected] <>>
>> Subject: Re: [ansible-project] Variable state depending on existence of a 
>> file on host system - possible?
>>  
>> It is a grown project, I can't change everything just because of this.
>> 
>> Anyway, if it is not possible, then ok. I can live with the glitch
>> 
>> 
>>> Am 05.01.2022 um 19:13 schrieb Wei-Yen Tan <[email protected] <>>:
>>> 
>>> Why put in a jinja file? Run the assertion  first in the role task /fail 
>>> exit etc. Then run the template task 
>>> 
>>> Get Outlook for iOS <https://aka.ms/o0ukef>
>>> From: [email protected] <> <[email protected] <>> on 
>>> behalf of decades software <[email protected] <>>
>>> Sent: Thursday, January 6, 2022 7:11:11 AM
>>> To: [email protected] <> <[email protected] <>>
>>> Subject: Re: [ansible-project] Variable state depending on existence of a 
>>> file on host system - possible?
>>>  
>>> Looks pretty verbose. I have some doubts to be able to use this in a .j2 
>>> file.
>>> 
>>>> Am 05.01.2022 um 19:08 schrieb Wei-Yen Tan <[email protected] <>>:
>>>> 
>>>> It is the example. Register 
>>>> 
>>>> Get Outlook for iOS <https://aka.ms/o0ukef>
>>>> From: [email protected] <> <[email protected] <>> on 
>>>> behalf of decades software <[email protected] <>>
>>>> Sent: Thursday, January 6, 2022 7:06:59 AM
>>>> To: [email protected] <> <[email protected] <>>
>>>> Subject: Re: [ansible-project] Variable state depending on existence of a 
>>>> file on host system - possible?
>>>>  
>>>> Well, yes. I know, how to stat a file. I don't know how to create a 
>>>> variable from that with the same scope as a variable defined in 
>>>> default.yml.
>>>> 
>>>> I thought I was precise enough. Never mind. Disregard my question. Will 
>>>> find it out.
>>>> 
>>>> 
>>>>> Am 05.01.2022 um 18:34 schrieb Wei-Yen Tan <[email protected] <>>:
>>>>> 
>>>>> Use stat module to get your required facts. Bring it into assert or fail 
>>>>> 
>>>>> https://docs.ansible.com/ansible/latest/collections/ansible/builtin/stat_module.html
>>>>>  
>>>>> <https://docs.ansible.com/ansible/latest/collections/ansible/builtin/stat_module.html>
>>>>> 
>>>>> Get Outlook for iOS <https://aka.ms/o0ukef>
>>>>> From: 'Neil Young' via Ansible Project <[email protected] <>>
>>>>> Sent: Thursday, January 6, 2022 6:26:54 AM
>>>>> To: [email protected] <> <[email protected] <>>
>>>>> Subject: Re: [ansible-project] Variable state depending on existence of a 
>>>>> file on host system - possible?
>>>>>  
>>>>> It is not the problem of existence. The var exists all the time. It is 
>>>>> about the wrong state
>>>>> 
>>>>> Von meinem iPad gesendet
>>>>> 
>>>>>> Am 05.01.2022 um 18:18 schrieb Wei-Yen Tan <[email protected] <>>:
>>>>>> 
>>>>>> 
>>>>>> You could use the assert task to check that the variable exist before 
>>>>>> starting the run 
>>>>>> 
>>>>>> Get Outlook for iOS <https://aka.ms/o0ukef>
>>>>>> From: 'Neil Young' via Ansible Project <[email protected] <>>
>>>>>> Sent: Thursday, January 6, 2022 6:16:28 AM
>>>>>> To: Ansible Project <[email protected] <>>
>>>>>> Subject: [ansible-project] Variable state depending on existence of a 
>>>>>> file on host system - possible?
>>>>>>  
>>>>>> I'm currently having a var in my ./vars/default.yml, which is used at 
>>>>>> several points in my playbook for branching installation operations.
>>>>>> 
>>>>>> boolean_var: true
>>>>>> 
>>>>>> Depending on this I'm performing (or not) install steps
>>>>>> 
>>>>>> ....
>>>>>> when: not boolean_var
>>>>>> 
>>>>>> So far so good. I'm also using this var in some j2 templates like so:
>>>>>> 
>>>>>> 
>>>>>> {% if boolean_var %}
>>>>>> 
>>>>>> ...
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> {% endif %}
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> My problem is, that I mostly forget to set this variable to a proper 
>>>>>> state, which reflects the real status on the host system, so I have to 
>>>>>> abort an update.
>>>>>> 
>>>>>> I would rather like to derive it from a pre_task, checking the existence 
>>>>>> of a particular file on the host before starting all operations.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Is there a way to define a variable with the same scope (playbook and 
>>>>>> templates) at runtime?
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> 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/5da6e38e-ae18-4b28-98f9-4341465c2cbfn%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/ansible-project/5da6e38e-ae18-4b28-98f9-4341465c2cbfn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>>> 
>>>>>> -- 
>>>>>> You received this message because you are subscribed to a topic in the 
>>>>>> Google Groups "Ansible Project" group.
>>>>>> To unsubscribe from this topic, visit 
>>>>>> https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe
>>>>>>  
>>>>>> <https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe>.
>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>> [email protected] <>.
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/ansible-project/SYBP282MB35259E19C8AA647EF3B46381AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/ansible-project/SYBP282MB35259E19C8AA647EF3B46381AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.
>>>>> 
>>>>> -- 
>>>>> 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/01C05F93-94B6-4412-A639-6B22D5AD6415%40googlemail.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/ansible-project/01C05F93-94B6-4412-A639-6B22D5AD6415%40googlemail.com?utm_medium=email&utm_source=footer>.
>>>>> 
>>>>> -- 
>>>>> You received this message because you are subscribed to a topic in the 
>>>>> Google Groups "Ansible Project" group.
>>>>> To unsubscribe from this topic, visit 
>>>>> https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe 
>>>>> <https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe>.
>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>> [email protected] <>.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/ansible-project/SYBP282MB3525B92047533293BE36CDDBAD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM
>>>>>  
>>>>> <https://groups.google.com/d/msgid/ansible-project/SYBP282MB3525B92047533293BE36CDDBAD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.
>>>> 
>>>> 
>>>> -- 
>>>> 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/6151BEBF-2100-47D4-BEBB-8B7DAFA015E0%40freenet.de
>>>>  
>>>> <https://groups.google.com/d/msgid/ansible-project/6151BEBF-2100-47D4-BEBB-8B7DAFA015E0%40freenet.de?utm_medium=email&utm_source=footer>.
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to a topic in the 
>>>> Google Groups "Ansible Project" group.
>>>> To unsubscribe from this topic, visit 
>>>> https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe 
>>>> <https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe>.
>>>> To unsubscribe from this group and all its topics, send an email to 
>>>> [email protected] <>.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/ansible-project/SYBP282MB35253A0A94C37D3B58787DE8AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM
>>>>  
>>>> <https://groups.google.com/d/msgid/ansible-project/SYBP282MB35253A0A94C37D3B58787DE8AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.
>>> 
>>> 
>>> -- 
>>> 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/0BC29B56-FBB8-4806-9A93-0A26B283FDBC%40freenet.de
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/0BC29B56-FBB8-4806-9A93-0A26B283FDBC%40freenet.de?utm_medium=email&utm_source=footer>.
>>> 
>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "Ansible Project" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe 
>>> <https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe>.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> [email protected] <>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ansible-project/SYBP282MB35256C3EEB45432169B04949AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/SYBP282MB35256C3EEB45432169B04949AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.
>> 
>> 
>> -- 
>> 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/3DC0AC14-FEBB-4CD0-A62A-426D8D5B0CB1%40freenet.de
>>  
>> <https://groups.google.com/d/msgid/ansible-project/3DC0AC14-FEBB-4CD0-A62A-426D8D5B0CB1%40freenet.de?utm_medium=email&utm_source=footer>.
>> 
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe 
>> <https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe>.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <>.
> 
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/SYBP282MB35253DBC1004532300D8D629AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM
>>  
>> <https://groups.google.com/d/msgid/ansible-project/SYBP282MB35253DBC1004532300D8D629AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.
> 
> 
> -- 
> 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] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/1f8559e9-549c-4da5-86a1-092b7fc011ecn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/1f8559e9-549c-4da5-86a1-092b7fc011ecn%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "Ansible Project" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe 
> <https://groups.google.com/d/topic/ansible-project/MWKwiX9ICR8/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/SYBP282MB35252FAC2DBCD58D2E8DFDD6AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM
>  
> <https://groups.google.com/d/msgid/ansible-project/SYBP282MB35252FAC2DBCD58D2E8DFDD6AD4B9%40SYBP282MB3525.AUSP282.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.

-- 
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/380B9DC1-4946-42E7-B804-FAEA71640ED6%40freenet.de.

Reply via email to