Hi JYL,

This is a great insight you have provided. That would certainly a good way 
on how to manipulate the Ansible and Ansible Tasks on each runs. 
What what it doesn't solve is that how do i populate that fact file with 
Tasks that has already been ran. 

For example,  at the end of each Ansible run, if i could generate a JSON 
file that would look like: 

{
    "Task1":1,
    "Task2":1
}

And on Ansible, I can write "When: {{ ansible_local["Task1"] }} exists and 
{{ ansible_local["Task1"] }} == 1"
then skip the task. This is ideal.

However, to generate the fact.d JSON file, i need a way for to know what 
tasks have been executed in the first place, 
and thats something i am figuring out, how can i know within this ansible 
run, what were the tasks executed ? 
    



On Tuesday, July 21, 2020 at 3:03:28 PM UTC+8 [email protected] wrote:

> Interesting question. 
>
> A local fact is a way : 
>
>
> https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#local-facts-facts-d
>
> At the beginning of your playbook you test is the fact relating to your 
> playbook exist.
>
> If existing, is the version different from the playbook you use
>
> Do things differently if the version is x or y
>
>
> Generally, this could be avoided using some automated test to not make 
> regression in a future version (molecule could be useful here if target is 
> a server)
>
> Regards,
>
> JYL
>
> Le 21/07/2020 à 08:08, Firesh Bakhda a écrit :
>
> Hi , 
>
> I would like to post to this group to find out if there is anyway for 
> ansible to actually stamp the client with 
> Ansible Deployment or Deployment Stamp on what tasks were ran and when it 
> was ran, like a VERSION or DEPLOYMENT file that we could deposit to the 
> targets. 
>
> For example, 
>
> On first deployment the ansible scripts may just have tasks like: 
>
>
>    1. APT UPDATE 
>       2. NTPDATE 
>    
> this then was deployment and stamps on the client like this: 
>
>
>    1. Ansible Deployment 21/07/2020 13.35pm - v1.0 
>          1. Tasks: 
>             1. APT UPDATE 21/072020 13;40pm  
>             2. NTPDATE 21/072020 13.42pm 
>          
>
> Then this ansible script was updated to contain 2 more tasks like the 
> below:
>
>
>    1. APT UPDATE 
>       2. TIMESYNC DAEMON UPDATE 
>       3. NTPDATE 
>       4. PROXY UPDATE 
>    
> And when this was ran again, the target system file gets updated once it 
> completes with:
>
>
>    1. Ansible Deployment 21/07/2020 13.35pm - v1.0 
>          1. Tasks: 
>             1. APT UPDATE 21/072020 13;40pm  
>             2. NTPDATE 21/072020 13.42pm 
>          2. Ansible Deployment 21/07/2020 14.00pm - v1.1 
>          1. Tasks: 
>             1. APT UPDATE 21/07/2020 14.01pm 
>             2. TIMESYNC DAEMON UPDATE 21/07/2020 14.03pm 
>             3. NTPDATE 21/07/2020 14.04pm 
>             4. PROXY UPDATE 21/07/2020 14.07pm 
>          
>
>
> Something like this, this allows those who are maintaining individual 
> platforms gets to know if the deployed platform is upto date or not. 
> This would also help to know if the target system is to the latest 
> deployment or not. 
> Or is there any mechanism for this  ?
>
>
>
> -- 
> 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/977f9bab-9572-40e2-a122-cbbc5295b830o%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/977f9bab-9572-40e2-a122-cbbc5295b830o%40googlegroups.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/5737250d-e71e-406a-a1e2-aba8a1996079n%40googlegroups.com.

Reply via email to