*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.