Hi Josh,
your idea is right:
{% if ansible_mgt is defined and ansible_mgt.ipv4.address is defined %}
server_address={{ansible_mgt.ipv4.address}}
{% else %}
server_address={{ansible_eth0.ipv4.address}}
{% endif %}
you have to check ansible_mgt first.
David
Linux server specialist/Specialista na správu linuxových serverů
www.karban.eu
2015-09-18 16:34 GMT+02:00 <[email protected]>:
> Hi David,
>
> the error message is:
> fatal: [testserver.xxx] => {'msg': "AnsibleUndefinedVariable: One or more
> undefined variables: 'ansible_mgt' is undefined", 'failed': True}
> fatal: [testserver.xxx] => {'msg': "AnsibleUndefinedVariable: One or more
> undefined variables: 'ansible_mgt' is undefined", 'failed': True}
> FATAL: all hosts have already failed -- aborting
>
> Well, that is true. On this machine I have only ansible_eth0:
> "ansible_eth0": {
> "active": true,
> "device": "eth0",
> "ipv4": {
> "address": "10.101.10.133",
> "netmask": "255.255.255.0",
> "network": "10.101.10.0"
> },
>
> My idea was to use the condition, if ansible_mgt is defined -> use
> ansible_mgt and if not -> ansible_eth0
>
> Regards,
> Jost
>
>
> Am Freitag, 18. September 2015 16:20:47 UTC+2 schrieb David Karban:
>>
>> Hi,
>>
>> I guess, in that case not even ansible_mgt will be defined? What is exact
>> error message (try ansible-playbook with -vvv) ?
>>
>> David
>> Linux server specialist/Specialista na správu linuxových serverů
>> www.karban.eu
>>
>> 2015-09-18 15:50 GMT+02:00 <[email protected]>:
>>
>>> Hi everyone,
>>>
>>> one simple question and sry for my english skills :-)
>>>
>>> I have a playbook with some templates, in one template I added a
>>> condition to write a specific IP Address in my template.
>>> (My servers have several network ports and unfortunately they have
>>> sometimes different names. Ok, i could use different templates but i wanted
>>> to use a single file)
>>>
>>> The code:
>>>
>>> {% if ansible_mgt.ipv4.address is defined %}
>>> server_address={{ansible_mgt.ipv4.address}}
>>> {% else %}
>>> server_address={{ansible_eth0.ipv4.address}}
>>> {% endif %}
>>>
>>> If I run the playbook against a server which has not the network
>>> port ansible_mgt the playbook fails because the
>>> variable ansible_mgt.ipv4.address is not defined.
>>>
>>> What I am doing wrong? Or it is not possible to check in a template if a
>>> variable is not defined?
>>>
>>> Thanks for your help!
>>>
>>> Regards,
>>> Jost
>>>
>>> --
>>> 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/d3b7c341-c7bc-4750-b081-0c66f2de3c8e%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/d3b7c341-c7bc-4750-b081-0c66f2de3c8e%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/f3228aec-cbf2-470a-ba06-883f8007bdf0%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/f3228aec-cbf2-470a-ba06-883f8007bdf0%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/CAOBFM960_FDvb9zNA__-1Nz%2BU1GNWiHxtiX8pGiR7C8End77oQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.