Filter hosts based on facts

65 views
Skip to first unread message

Vaclav Adamec

unread,
Jan 7, 2015, 6:43:33 AM1/7/15
to ansible...@googlegroups.com
Hi,
 can humbly ask someone to provide me some example how to filter list of servers with facts ? I probably miss something in documentation, I need something like this:

ansible -i /usr/local/src/ansible/plugins/inventory/vmware.py '~web.*' -m shell -a 'filter=facter_operatingsystem_CentOS' -a "some fancy command"

and in playbook this:

  - name: Test
    script: ./script.sh
    register: command_result
    failed_when: "'FAILED' in command_result.stdout"
    when: facter_operatingsystem|CentOS

Thanks a lot

Vasek

Tom Bamford

unread,
Jan 7, 2015, 6:54:03 AM1/7/15
to ansible...@googlegroups.com
Hi Vasek

You can declare dynamic groups based on arbitrary facts, and then apply tasks or roles to those groups. There is an example at http://docs.ansible.com/playbooks_best_practices.html#operating-system-and-distribution-variance which seems to do exactly what you want.

Regards
Tom


--
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-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/fc6d5020-927f-4cf0-a04c-604542b7d952%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Tom Bamford

unread,
Jan 7, 2015, 6:55:27 AM1/7/15
to ansible...@googlegroups.com
Of course, this approach applies to playbooks. I'm not sure how to (best) accomplish this with the standalone ansible command.

Regards
Tom
--
Tom Bamford

@Planet
ATPLANET (Pty) Ltd

Reply all
Reply to author
Forward
0 new messages