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 [email protected]. 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/a37437bd-6f4a-4f32-a438-e1baf991c476%40gmail.com.

Reply via email to