*This is a question of good practise*

*Introduction:*

I do have logic "Lines" on a way from my LB to Backend

[LineA]
> proxyA         app_type=proxy
> frontendA       app_type=frontend
> middlewareA       app_type=middleware
>
 

> [LineB]
> proxyB         app_type=proxy
> ...



Since the apps are more complex than simple apache start stop. i did write 
custom modules with required logic to controll them (simplified example):


> *proxysrv: with actions [suspend, activate]**restart: with actions 
> [start, stop, restart], and app_type arguments [frontend, middleware]*



The tasks have to be played in certain order (suspend proxy, restart 
frontends and middleware, activate proxy)
Now I can have a play like:

---
> - hosts: LineA
> - tasks:
>    - name:  suspend
>       proxysrv: action=suspend, when app_type =='proxy'

   - name: restart FE

      restart: action=restart, app_type=frontend, when app_type =='frontend'
>    - name: restart MW
>       restart: action=restart, app_type=middleware, when app_type 
> =='middleware'
>    - name: activate
>       proxysrv: action=activate, when app_type =='proxy'




I don't like the "skipped" message during the run of a playbook, and the 
numbers in the final play statistics, that count the skipped hosts (as not 
changed).


*This is a question of good practise:*
How would You create dependencies, that would apply specialized tasks on a 
subset of Your hosts group.

I guess that better way to solve the problem would be the use of 
*delegate_to* (probably with "*with_items*" or "*tags*"). 
I could register the 'proxy_hosts', 'frontend_hosts', 'middleware_hosts' 
variables during an execution of the play and run tasks against them.
I do not see yet use of tags here, the example would be nice.
Any better idea?

What about roles. I would like to have a roles (proxy, restart role) and 
run them against subset of a hosts.
 

-- 
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/c0c1ad4f-ea03-4ab5-90a5-05edf785d658%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to