I think this would be even better:
- set_fact: address_variable={{ groups.server[0] }}
when: "'server' not in group_names"
Looks nicer both in code and in output ;-)
Jacek <[email protected]> napisał:
>Ok, after a little search I've got it; for anyone interested:
>
>- set_fact: address_variable={{ item }}
> with_items: groups.server
> when: "'server' not in group_names"
>
> Cheers,
> Jacek
>
>
>W dniu piątek, 19 września 2014 14:06:25 UTC+1 użytkownik Jacek
>napisał:
>>
>> Thanks James,
>>
>> That's nice. One thing I'm not sure about is the
>'server_address_here'
>> which you wrote. Ideally, what I need there is the name/address of
>the
>> first (and the only) host in the inventory group 'server'.
>> Is there a way to do this?
>>
>> Cheers,
>> Jacek
>>
>> W dniu czwartek, 18 września 2014 01:41:55 UTC+1 użytkownik James
>> Cammarata napisał:
>>>
>>> Hi Jacek, this should work for you:
>>>
>>> - set_fact: address_variable='localhost'
>>> when: 'server' in group_names
>>> - set_fact: address_variable='server_address_here'
>>> when: 'server' not in group_names
>>> - template: ...
>>>
>>> The "group_names" variable is a special variable that contains a
>list of
>>> the groups the current host is in.
>>>
>>> On Wed, Sep 17, 2014 at 6:42 PM, Jacek <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> Perhaps it's an easy question but I cannot find a way to answer it
>>>> myself.
>>>>
>>>> More in details -- I have two groups in my inventory: clients (many
>
>>>> hosts) and server (single host), and a template at the client which
>needs
>>>> to use the server address. If it happens that a client host is also
>in the
>>>> 'server' group, I wanted to set the address in the template to
>'localhost'.
>>>> Otherwise, the address should point to the server address as
>specified in
>>>> the inventory. I guess it's quite easy to code it using jinja2
>directly in
>>>> the template but my template includes many places with such a
>reference, so
>>>> I thought about first setting the server address variable, and then
>using
>>>> this variable to evaluate the template. Is this correct way of
>thinking?
>>>> How can I set a variable in a play before template evaluation?
>Otherwise,
>>>> have you got any other ideas?
>>>>
>>>> Cheers,
>>>> Jacek
>>>>
>>>> --
>>>> 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/b878ce70-0326-42a9-8f5a-25c3b9e3dd71%40googlegroups.com
>
>>>>
><https://groups.google.com/d/msgid/ansible-project/b878ce70-0326-42a9-8f5a-25c3b9e3dd71%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/01419aeb-cae2-45af-a7aa-4ec6e35e8c01%40googlegroups.com.
>For more options, visit https://groups.google.com/d/optout.
--
Wysłane za pomocą K-9 Mail.
--
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/067a3a93-2e2b-481b-bfc7-a1d9637dc1eb%40email.android.com.
For more options, visit https://groups.google.com/d/optout.