"Is there ansible's BTS?"

github.com/ansible/ansible.

However, it's *already* true that conditionals in the vars section work.

You still have some legacy variables in the bottom half, which is why 3 and
4 don't work.

    amazon: "no"
    is_var_evaluated1: (amazon == 'no')
    is_var_evaluated2: amazon == 'no'


The first two should be true, and I've confirmed that they work on my end
at least.

Note that if you forget to quote the no, it will be stored as a False, and
this is even cleaner.

when: amazon










On Tue, Mar 4, 2014 at 10:45 AM, Arie Skliarouk <[email protected]> wrote:

> I tested various combinations, and in no case the is_var_evaluatedX got
> assigned value True...
>
> vars:
>>     amazon: "no"
>>     is_var_evaluated1: (amazon == 'no')
>>     is_var_evaluated2: amazon == 'no'
>>     is_var_evaluated3: $amazon == 'no'
>>     is_var_evaluated4: "'$amazon' == 'no'"
>
>
> I would like to file feature request on adding conditional expression
> evaluation in vars section... Is there ansible's BTS?
>
> On Tuesday, March 4, 2014 5:11:50 PM UTC+2, Michael DeHaan wrote:
>
>> Yes, it can go one level deep.
>>
>> You can't build conditional expressions out of conditional expressions,
>> but variables will expand.
>>
>> I'd suggest writing a test playbook and trying it out!
>>
>>
>> On Tue, Mar 4, 2014 at 10:06 AM, Arie Skliarouk <[email protected]>wrote:
>>
>>> The ansible documentation has this example:
>>>
>>> vars:
>>>>   epic: true
>>>> Then a conditional execution might look like:
>>>> tasks:
>>>>     - shell: echo "This certainly is epic!"
>>>>       when: epic
>>>
>>>
>>> Would it be possible for ansible to interpret conditionals in vars:
>>> section and assign proper true/false values to the variables? So that in
>>> example below is_amazon is assigned true?
>>> amazon: "yes"
>>> is_amazon: (amazon == "yes")
>>>
>>> On Tuesday, March 4, 2014 3:50:25 PM UTC+2, Michael DeHaan wrote:
>>>
>>>> You'll have to be sad then, at least for now.
>>>>
>>>> Too much fuzzy logic is involved for the system to know what is a
>>>> condition and what is a string, so only bare words
>>>> are evaluated as conditionals.
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Mar 4, 2014 at 8:41 AM, Arie Skliarouk <[email protected]>wrote:
>>>>
>>>>> Will it be easier for ansible to recognize pre-defined condition if I
>>>>> put it in brackets?
>>>>>
>>>>>   vars:
>>>>>     amazon: "yes"
>>>>>     lxc: "no"
>>>>>     is_amazon: (amazon == "yes")
>>>>>     is_lxc:  (lxc == "yes")
>>>>>
>>>>>   tasks:
>>>>>     - shell: echo hi 1
>>>>>       when: is_amazon or is_lxc
>>>>>
>>>>> It would be sad if there is no way to use short syntax like this...
>>>>>
>>>>> On Tuesday, March 4, 2014 3:34:15 PM UTC+2, Michael DeHaan wrote:
>>>>>
>>>>>> Complex conditionals and or statements are fine.
>>>>>>
>>>>>> when:  x > 2 or y >3
>>>>>>
>>>>>> and complex conditionals are fine as well:
>>>>>>
>>>>>> when:  (x > 2 or y > 3) and (zebras == 4)
>>>>>>
>>>>>> etc
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Mar 4, 2014 at 8:28 AM, Arie Skliarouk <[email protected]>wrote:
>>>>>>
>>>>>>> In my scripts I also use "or" expression... How would I do that? And
>>>>>>> what about the poor souls that want to use complex boolean 
>>>>>>> expression?...
>>>>>>>
>>>>>>> --
>>>>>>> Arie
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, March 4, 2014 2:49:44 PM UTC+2, Michael DeHaan wrote:
>>>>>>>
>>>>>>>> The following tricks are available:
>>>>>>>>
>>>>>>>> ---
>>>>>>>> - hosts: all
>>>>>>>>
>>>>>>>>   vars:
>>>>>>>>     x: 1
>>>>>>>>     y: 2
>>>>>>>>     alpha: x > 2
>>>>>>>>     beta:  y > 3
>>>>>>>>
>>>>>>>>   tasks:
>>>>>>>>
>>>>>>>>     - shell: echo hi 1
>>>>>>>>       when: alpha
>>>>>>>>
>>>>>>>>     - shell: echo hi 2
>>>>>>>>       when:
>>>>>>>>         - alpha
>>>>>>>>         - beta
>>>>>>>>
>>>>>>>> Note that 'when: "alpha and beta"' is ambigious to the system, and
>>>>>>>> won't do what you want, because it has a hard time understanding 
>>>>>>>> whether a
>>>>>>>> variable is a variable expression or a string or not.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Mar 4, 2014 at 7:11 AM, Arie Skliarouk 
>>>>>>>> <[email protected]>wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I am migrating ansible from 0.9 to 1.5 and complex when condition
>>>>>>>>> don't work anymore:
>>>>>>>>>
>>>>>>>>>   vars:
>>>>>>>>>     not_main: "'$c_main' == 'no'"
>>>>>>>>>     is_main: "'$c_main' == 'yes'"
>>>>>>>>>     not_lxc: "'$lxc' != 'yes'"
>>>>>>>>>
>>>>>>>>>   tasks:
>>>>>>>>>   # This does not work properly, it is always being applied
>>>>>>>>>   - name: test0.conf
>>>>>>>>>     action: template src=/tmp/test.conf.j2 dest=/tmp/test0.conf
>>>>>>>>> owner=ops group=ops mode=0444
>>>>>>>>>     when: not_main and not_lxc
>>>>>>>>>  # This works but prints warnings about using ${foo} or $foo. This
>>>>>>>>> is what I used in the past with ansible 0.9 (with only_if).
>>>>>>>>>   - name: test1.conf
>>>>>>>>>     action: template src=/opt/opsfs/tmp/test.conf.j2
>>>>>>>>> dest=/tmp/test1.conf owner=ops group=ops mode=0444
>>>>>>>>>     when: $not_main and $not_lxc
>>>>>>>>> # This works but is longer to type and not as readable as the
>>>>>>>>> first example
>>>>>>>>>   - name: test2.conf
>>>>>>>>>     action: template src=/opt/opsfs/tmp/test.conf.j2
>>>>>>>>> dest=/tmp/test2.conf owner=ops group=ops mode=0444
>>>>>>>>>     when: c_main == 'no' and lxc != 'yes'
>>>>>>>>>
>>>>>>>>> What is the correct way to use complex when conditions?
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Arie
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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/8d870518-5
>>>>>>>>> 473-4e44-826c-f6674d1fc306%40googlegroups.com.
>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>> 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/0f7f4886-4
>>>>>>> abe-4a15-bc67-ec7f691e1f60%40googlegroups.com.
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>> 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/4714468c-370d-4dd0-b840-6ad3e22452e4%
>>>>> 40googlegroups.com.
>>>>>
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>
>>>>  --
>>> 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/82119d36-d531-4016-aff2-
>>> b2aa53df4776%40googlegroups.com.
>>>
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
> 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/b2148ef2-be21-4469-8a8b-9dcbb275a1dd%40googlegroups.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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/CAEVJ8QOLb%3Da3iqYXLRa6hkgQXTC3w6H54FVXmuccMZu39LJ5Yw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to