I'm working on a system that can run one playbook to launch some number of EC2 instances for any number of purposes. For example, a development, it might lauch & provision 2 web servers and 1 search server. In production, it might be even more specific and launch 2 api servers, 2 dashboard servers, 1 general web server and 1 search server. It's trying to be pretty flexible like that.
When launched, the instances are tagged in various ways. For example: ManagedBy: Ansible Environment: dev|stg|prd Roles: web,api,dashboard,corp,search Now I need to write playbooks that execute against existing servers and I'd like to be able to run something like this: $ ansible-playbook -i development/ec2.py dosomething.yml --ask-vault-pass And then, in my playbook, identify my hosts based on tags. In the simplest case, set hosts: <all servers whose ManagedBy tag is 'Ansible" AND whose Environment tag is "development">. Is it possible to set the hosts value based on multiple tags? In a slightly different example, I may need to execute a set of roles/tasks only against a server whose role includes "api". This would mean parsing the "Roles" tag that is a comma delimited list of the projects installed on a given instance. Am I asking dynamic inventory to do too much? Is this possible in this or any other reasonable way? Thanks. -- 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/8f7253a6-c293-431d-aa3e-64302cf9a72a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
