Hi,
it´s not about "hosts" filtering - in my case it´s always "hosts: cae".
I have some files in
group_vars/cae-1.yml
group_vars/cae-2.yml
..
group_vars/cae-xx.yml
according to the group(s) defined in my /inventory/hosts file.
Inside these group_vars there´s a list of instances, running on that
machine:
---
cae_instance:
-
index: _1_a
port: 8700
...
-
index: _1_k
port: 12700
The question is now: how to filter that list ?
I know I can iterate the list using the "with_items" expression - but I
want to "skip" or "filter" some items, lets say by using RegEx on one (or
more) attributes of the list items.
Any solution for that ?
Regards, Torsten
Am Montag, 17. November 2014 22:13:54 UTC+1 schrieb Michael DeHaan:
>
> If you are attempting to talk to only certain instances, usage of the host
> group specifier "hosts:" is the way to do it.
>
> To talk to all instances ending in that pattern
>
> - hosts: *_k
>
> The docs also show how to combine patterns and negate them.
>
> (The group_by module can also be used to create groups of arbitrary
> criteria based on facts, but is not needed here)
>
>
>
>
>
> On Thu, Nov 13, 2014 at 6:12 AM, Torsten Reinhard <
> [email protected] <javascript:>> wrote:
>
>> Hi all,
>>
>> like probably most of you, we have multiple servers with multiple
>> application instances (Tomcat, Apache, ..) on it, for example structured
>> like this:
>>
>> [cae:children]
>> cae-1
>> cae-2
>>
>> [cae-1]
>> pbdelsweb001.mydomain.com
>> [cae-2]
>> pbdelsweb002.mydomain.com
>>
>>
>> For each group we have a *.yml file at group_vars directoy in the
>> inventory:
>>
>> cae-1.yml:
>> ---
>> cae_instance:
>> -
>> index: _1_a
>> port: 8700
>> -
>> index: _1_b
>> port: 9700
>> -
>> index: _1_c
>> port: 10700
>> -
>> index: _1_k
>> port: 12700
>>
>> All these instances are setup by a simple playbook:
>>
>> - hosts: cae
>> user: myuser
>>
>> vars_files:
>> - vars/stage-{{stage}}.yml
>>
>> roles:
>> - { role: cae-tomcat, params: "{{ cae_instance }}" }
>>
>> This is all fine - but now I have to fullfill the requirement to be able
>> to address only the "_k" instances - or only the "_a" instances - that
>> meens one or more instances out of the complete list.
>>
>> Is there an option to "filter" the list of instances ? Something like
>>
>> with_items
>> - filter: (".*_k" )
>>
>> Do I have to write my own Iterator(s) for this ?
>>
>> Thanx for any hints, Torsten
>>
>>
>>
>>
>> --
>> 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] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/fbbdc812-3908-43a8-921b-f7705a6314cc%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/fbbdc812-3908-43a8-921b-f7705a6314cc%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/c944da70-f272-4cd9-a584-db93a5f7b23b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.