Suppose your playbook does what you (think) you want. Then what do you
intend to do with this output?
What if some apps are running on hosts they're not intended to run on? Do
you take some corrective measures? Or reinstall the host?
And why is it possible at all that apps appear on random inventory hosts?

Rather than using ansible as a glorified shell wrapper to report proces
status, I would use it to set up the infra so that only the right apps run
on the right hosts.


On Tue, 12 Jul 2022 at 00:16, Mohtashim S <[email protected]> wrote:

> I have 3 applications hosted on three separate hosts and mentioned in the
> hosts file like below:
>
> cat my.hosts
>
> [app1_webapp]
> host3.mybank.com
>
> [app2_webapp]
> host5.mybank.com
>
> [app3_webapp]
> host8.mybank.com
> My requirement is to run two types of raw module commands.
>
> The first raw task which should run on all three hosts for all three
> applications i.e uptime
>
> The second raw task is ps command that should run only on the respective
> host i.e ps -ef | grep app1 should only run on host3.mybank.com
>
> Below is how I call my main.yml
>
> ansible-playbook -i my.hosts main.yml -e appname=app1,app2,app3
>
> cat main.yml
>
> - hosts: "{{ product(appname.split(',')) |
> product(['webapp'])|map('flatten')|map('join', '_') }}"
>
>   user: user1
>   gather_facts: no
>
>   tasks:
>
>        - name: Check Running Process
>          raw: "ps -ef | grep {{ item }}"
>          register: psout
>          with_items: "{{ appname.split(',') }}"
>
>        - name: DUMP Running Process
>          debug:
>            msg: "{{ psout.stdout }}"
>
> The above raw fails as it tried ps for each app on each hosts which is
> what I wish to skip (correct).
>
> How do I put a when condition so that the ps command for the respective
> app should run on the respective host only and not on all three hosts?
>
> Summary: my problem is regarding standard practice in infrastructure
> management. Each app runs on its own host as specified in the my.hosts
> file. I wish to find if the app process ps -ef | grep <app-name> is running
> on its own host(desired) and not on all inventory-hosts
>
> --
> 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/ef324a05-5da8-41e2-b214-611dfdc9afcbn%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/ef324a05-5da8-41e2-b214-611dfdc9afcbn%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/CAF8BbLZ4%2BhU-%3DyktRAXrnkjk0Zw5Qy0G3sU8gBdWioFA5bKMxg%40mail.gmail.com.

Reply via email to