Lets suppose we have the following code sample:

- name: Bug report
  hosts: localhost
  gather_facts: no
  connection: local
  vars:
    foo: no
    bar: "{{ foo }}"
  tasks:
    - debug: msg='This should not be skipped!'
      when: not bar



Seeing the code one would expect that the message "This should not be 
skipped" is displayed when the code is executed. In reality, however, the 
code gets skipped because the bar parameter is not correctly resolved to 
its value *no. *Rewriting the when clause to look like this:
when: not {{ bar }}

seems to fix the problem. 
Also it seems that this problem is only caused when the *not* operator is 
used, because if I use the following code sample:

- name: Bug report
  hosts: localhost
  gather_facts: no
  connection: local
  vars:
    foo: yes
    bar: "{{ foo }}"
  tasks:
    - debug: msg='This should not be skipped!'
      when: bar


everything seems to work as expected.

So is this a bug (perhaps a known issue) or am I doing something wrong?

-- 
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/75974d5e-0fc8-4d37-b088-9950ff0abe5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to