Hello,

I have really enjoyed using Ansible to be able to completely template new 
servers that I set up, but one thing I have not yet figured out how to do 
in my workflow is deal with changes that occur after a playbook has been 
run on a server. For example, let's say that I have a cron task that 
creates a cron:

>  - name: create my cron
>    cron: name="My Cron version 1.0" job=/usr/local/bin/cron.sh minute=1


I run the playbook on my servers and this cron is added to the crontab, 
good. However, later I decide to change the name, the job, or some other 
attribute. If I do that, Ansible will add a new entry to the crontab but 
leave this old one around. One solution would be to add a state=absent 
task, but that involves duplicating or adding some legacy code to my 
playbook:

>  - name: create my cron (old)
>    cron: name="My Cron version 1.0" job=/usr/local/bin/cron.sh minute=1 
> state=absent
>
 

 - name: create my cron
>    cron: name="My Cron version 1.1" job=/usr/local/bin/cron.sh minute=1


The best way to handle this that I can think of is:
1. review changes made to playbook, determine if they change any 
pre-existing files, crons, etc
2. if changes to pre-existing files are made, duplicate corresponding tasks 
and add a state=absent entry with the old names, run playbook to remove old 
data
3. remove duplicate tasks, commit changes to playbooks repository

Is there a better way for ansible to handle removing old data from a 
previous version of a playbook?

Thanks,

Andrew

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/c012bf3e-f4e8-48af-b804-c38aac142508%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to