This looks like an inventory issue to me. You could have more fine-grained control with hierarchical groups:

[a:children]
a_db
a_app

[a_db]
dbhost1

[a_app]
apphost2
apphost3

Then run your "stop application" task like so:

   - name: Stop application
     …
     when: 'inventory_hostname in group["a_app"]'
     run_once: true

On 1/9/23 6:48 AM, Redmansas wrote:
I'm running task on group called A
[A]
dbhost1
apphost2
apphost3

task "stop application" should run only on apphost2 or 3 and need to run only once(script stop whole environment ) so I would like to eliminate from "stop application" dbhost1 and then run stop part only on one of apphosts(no different which one)
before stop part there some task running on all of nodes
I have multiple environments so and in each of them also is db and app servers and only app servers can stop
I tried to use
- block
   - block:
        <stop app>
     run_once: yes
 when: ansible_hostname[0] == "a"

but if it will catch DB host it will skip it and then skip block part
I hope is more clear now :/


poniedziałek, 9 stycznia 2023 o 12:26:02 UTC+1 [email protected] napisał(a):

    I can't make any sense of what you're trying to achieve. Can you
    rephrase and be more clear?

    On Mon, 9 Jan 2023 at 12:00, Redmansas <[email protected]> wrote:

        Hi
        Maybe idiotic problem but I don't have clue how to bite it :/
        I have example list of 3 hosts all are needed in inventory. I
        need to run one task to stop application
        Host 1
        Host 2
        Host 3
        app can be stopped only on host 2 and 3 and it need to run
        once because it will stop for whole landscape. I know that I
        can create a static var with host name but then any landscape
        i need to change it.

        so I though to eliminate host1 from list and then run only
        once on one of rest hosts (host2/host3)
        I tried to do double block but in first iteration skip host 1
        but in second block don't do anything



-- 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/f296b591-c146-4271-a86d-f1101140921cn%40googlegroups.com
        
<https://groups.google.com/d/msgid/ansible-project/f296b591-c146-4271-a86d-f1101140921cn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- Sent from Gmail Mobile

--
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/987210e7-ffdb-4d28-b3d4-588088c9e081n%40googlegroups.com <https://groups.google.com/d/msgid/ansible-project/987210e7-ffdb-4d28-b3d4-588088c9e081n%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/c5bef109-1129-a4de-a803-849855f1306b%40gmail.com.

Reply via email to