Hi,
all. I have review some similar topic on task reusability of ansible role and task execute order. But i still cannot get an answer to my problem. here it is:
suppose i have a role named ‘service_a’, and I have write a set of tasks in ‘service_a/tasks/tasks.yml’, such like this:
service_a/tasks/tasks.yml
name: open the door
…
name: get mails from mailbox
…
name: turn on the light
…
Now, I want to organize those actions in different orders, as below (just some fake code to explain my needs):
service_a/tasks/main.yml
name: get mails then open the door, because mail box is outside the room
tasks:
“get mails from mailbox”
“open the door”
“turn on the light”
…
tags: mailbox_outside_the_room
name: open the door then get mails, because mail box is inside the room
tasks:
you can use handlers, defne not a tasks but handlers, than do:
name: open the door then get mails, because mail box is inside the room
debug: msg=“calling handlers to do a job”
changed_when: true
notify:
“open the door”
“turn on the light”
“get mails from mailbox”
meta: flush_handlers
Handlers are evaliuated from top to bottom too, so you can use different sorting.
But, to be honest, it does not look like somethink that can be easilly done in Ansible. Maybe try to describe your problem, what you try to solve (not a solution you try to implement, but description of your problem in more general way).