Você pode usar interseções de grupo para direcionar hosts que têm funções sobrepostas. Por exemplo, suponha que seu arquivo de hosts de inventário defina os seguintes grupos sobrepostos:
# Melbourne data centre hosts
[melbourne]
db-01
db-02
web-01
web-02
...
# Sydney data centre hosts
[sydney]
db-11
db-12
web-21
web-22
...
# Database servers
[dbservers]
db-01
db-02
db-11
db-12
# Web servers
[webservers]
web-01
web-02
...
# LHS of load-balanced pairs
[left]
web-01
web-03
web-05
...
# RHS of load-balanced pairs
[right]
web-02
web-04
web-06
...
Você pode direcionar hosts que estão na interseção de dois ou mais grupos usando a opção de limite. Por exemplo:
ansible-playbook --limit 'sydney:&webservers:&left' playbook.yml
executará o manual no lado esquerdo dos pares de servidores da web com carga balanceada no data center de Sydney. Isso elimina a necessidade de criar vários grupos artificiais como ‘sydney-webservers-left’.