>From Ansible doc <http://docs.ansible.com/playbooks_roles.html#introduction> :
Roles in Ansible build on the idea of include files and combine them to *form > clean, reusable abstractions* I really want to love roles and use them extensively in our system, but so far I'm getting a heap of frustration instead. I am trying to position Ansible at work as the preferred automation platform to manage a complex system with several internally developed apps, plus db, web server, and more. (together this is one product/system) Multiple environments too, as usual. I'd think it makes sense to have roles like: - appX (for X in 1 through N) - web - db - etc (more.. skipped) One seemingly basic thing I need to do is to restart this entire system occasionally. I would like to use Ansible to do that. Here's a simplified pseudo-code recipe of a playbook: - web.startMaintenance() - app1.stop() - app2.stop() - app2.start() - app1.start() - web.endMaintenance() *I want to run a single playbook command to do this.* That seems clearly possible with include files but not possible with roles. The following doesn't work: ansible-playbook --tags "app1.stop,app1.start,app2.start,app2.stop,web.startMaintenance,web.endMaintenance" playbooks/testRoleDeps.yml That doesn't work because all plays in the playbook are filtered by the tags provided, and each play needs to have a particular tag applied (first stop *then* start later), not all of them. My conclusion? *As of 1.8.4, roles are inadequate for complex playbooks and include files need to be used instead.* That's unfortunate for code reuse reasons, etc. I would love to hear that this is not the case and I have overlooked something. Maybe a feature to resolve this is in the release plan? I can't figure out how to do this even after reading the documentation repeatedly, reading the ansible O'Reilly book (pre-release copy), the code in ansible-examples, and various other resources. -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/8df62499-291c-4ffc-b380-b35b85ab7dde%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.