What is happening is that you are effectively setting foo to the string
"false"

What you likely want to do is:

    when: not foo|bool

On Wednesday, August 13, 2014, Michael Peters <[email protected]>
wrote:

> Before I file a ticket, I just want to make sure I'm not doing
> anything wrong. BTW, this is a simplified example to reproduce the
> problem, not what I was actually trying to do.  I have this simple
> playbook test.yml:
>
> ---
> - hosts: 127.0.0.1
>   connection: local
>   tasks:
>   - set_fact: foo=false
>
>   - command: ls /
>     when: not foo
>
> Executed like this:
>
> ansible-playbook -i '127.0.0.1,' test.yml
>
>
> Which results in the following output:
> PLAY [127.0.0.1]
> **************************************************************
>
> GATHERING FACTS
> ***************************************************************
> ok: [127.0.0.1]
>
> TASK: [set_fact foo=false]
> ****************************************************
> ok: [127.0.0.1]
>
> TASK: [command ls /]
> **********************************************************
> skipping: [127.0.0.1]
>
> Notice the last task is skipped. So for some reason it's not following
> the logic of the when clause like I'd expect. But the really weird
> thing is that if I change the task to say "when: foo" (reverse the
> logic) I get the same output:
>
> ---
> - hosts: 127.0.0.1
>   connection: local
>   tasks:
>   - set_fact: foo=false
>
>   - command: ls /
>     when: foo
>
> Executed like this: ansible-playbook -i '127.0.0.1,' test.yml
>
> PLAY [127.0.0.1]
> **************************************************************
>
> GATHERING FACTS
> ***************************************************************
> ok: [127.0.0.1]
>
> TASK: [set_fact foo=false]
> ****************************************************
> ok: [127.0.0.1]
>
> TASK: [command ls /]
> **********************************************************
> skipping: [127.0.0.1]
>
> Same output. So even if something with my logic was wrong (for
> instance set_fact didn't like the literal "false") you would still
> think that taking out the "not" would result in the task being
> executed.
>
> ansible 1.8 (devel 9edf3a749a) last updated 2014/08/13 14:03:10 (GMT +000)
>
> Am I doing something wrong? Or should I file a bug report?
>
> --
> 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/CAJQqANdAt%3D3PB30cEDMqknJHY%2BAr3VwpxePrgN4J-dvfeZUWGQ%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Matt Martz
[email protected]
http://sivel.net/

-- 
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/CAD8N0v_XppVmJ_%3DzxCn7NrbbyAOjLueX%2BqJz%2Ba23nQq62vTJBA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to