It appears you are trying to define two different "*broker*" groups: one
as a child of the "*dev_kafka_cluster*" and another as a child of
"*qa_kafka_cluster*".
That isn't how groups work. There is only one "*broker*" group. You have
added hosts to the "*broker*" group in two places.
(Also, "*App*" as a group name should be lower-case letters.)
Let me suggest an alternative inventory/group arrangement that
implements this naming scheme:
*kafka[_{$env}[_{app,web,db}[_{zoo,broker,schema}]]]
*In this scheme, there isn't a "*broker*" group. Instead there are
groups named "*kafka_dev_app_broker*" and "*kafka_qa_app_broker*" (and
eventually a "*kafka_prd**" set I imagine).
I call this type of group naming scheme "fully articulated" — any group
you care to specify is completely unambiguous. It's a set of strict
hierarchies (in this case there's only one hierarchy: "*kafka*"), and
hosts appear in a particular hierarchy exactly once. (If you find
yourself trying to inject a host in two different places, you either
need to rethink your hierarchy's structure, or maybe you need two
hierarchies.)
We have on occasion included an "*all*" environment (like "*dev*" and
"*qa*"). If you did that, there would be a corresponding "*kafka_all**"
group for any "*kafka_dev**" or "*kafka_qa**" groups. Then you could
target all the brokers with "*kafka_all_app_broker*" instead of
"*kafka_dev_app_broker**,**kafka_qa_app_broker*". You would have to
decide if the benefit is worth the extra text you have to maintain in
your inventory.
Your inventory would look like this:
kafka:
children:
kafka_dev:
children:
kafka_dev_app:
children:
kafka_dev_app_zoo:
hosts:
dev1-main-zookpr[01:05].dev
kafka_dev_app_broker:
hosts:
dev1-main-kafka[01:06].dev
kafka_dev_app_schema:
hosts:
dev1-main-kafka[01:06].dev
kafka_dev_web: […] # omitted for brevity,
kafka_dev_db: […] # but you get the idea.
children:
kafka_qa:
children:
kafka_qa_app:
children:
kafka_qa_app_zoo:
hosts:
qa1-main-zookpr[01:03].qa
kafka_qa_app_broker:
hosts:
qa1-main-kafka[01:06].qa
kafka_qa_app_schema:
hosts:
qa1-main-kafka[04:06].qa
kafka_qa_web: […] # omitted for brevity,
kafka_qa_db: […] # but you get the idea.
On 4/19/24 8:40 AM, Sameer Modak wrote:
I have an inventory something like this , each main cluster has
children like broker.
Now how do i run any tasks against perticular group.broker. When we
pass the group with --limit it does not work it runs on all broker.
Also main playbook has hosts:all in it
annsible/grafana-agent-play.yaml -i kafka_inventory.yaml --limit
qa_kafka_cluster -u sam -k -b
dev_kafka:
children:
App:
children:
dev_kafka_cluster:
children:
zookeeper:
hosts:
dev1-main-zookpr[01:05].dev
broker:
hosts:
dev1-main-kafka[01:06].dev
schema_registry:
hosts:
dev1-main-kafka[01:06].dev
uc:
children:
qa_kafka:
children:
App:
children:
qa_kafka_cluster:
children:
zookeeper:
hosts:
qa1-main-zookpr[01:03].qa
broker:
hosts:
qa1-main-kafka[01:06].qa
schema_registry:
hosts:
qa1-main-kafka[04:06].qa
========
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/0e0e0032-661b-4d2e-9fe4-347c08157d7bn%40googlegroups.com
<https://groups.google.com/d/msgid/ansible-project/0e0e0032-661b-4d2e-9fe4-347c08157d7bn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
Todd
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/a37437bd-6f4a-4f32-a438-e1baf991c476%40gmail.com.