when conditional failing to skip a task on string comparison (2.0)

40 views
Skip to first unread message

Eduardo Esclapés Giménez

unread,
Jan 19, 2016, 10:41:21 AM1/19/16
to Ansible Project
Hi there,

A task that shoud skip is running and failing. This is the task

- name: Fail if project_subtree_path is set incorrectly
  fail:
    msg: "subtree is set to '{{ project_subtree_path }}' but that path does not exist in the repo. Edit `subtree_path` for '{{ site }}' in `sites.yml`."
  when: project_subtree_path != 'False' and not project_subtree_full_path.stat.exists
 

And the error message indicates that the variable is indeed set to 'False'

FAILED! => {"changed": false, "failed": true, "msg": "subtree is set to 'False' but that path does not exist in the repo. Edit `subtree_path` for 'sobiranialimentariapv.org' in `sites.yml`."}


Am I missing something on the 2.0 way of doing when?

I am running 2.0.0.1 on ubuntu 14.04

Thanks in advance

Brian Coca

unread,
Jan 19, 2016, 10:43:07 AM1/19/16
to Ansible Project
is it 'False' or False? they are different things, a better check that
can deal with both is:

when: project_subtree_path|bool and not project_subtree_full_path.stat.exists
> --
> 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 ansible-proje...@googlegroups.com.
> To post to this group, send email to ansible...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/cd210cc9-5150-4f81-9618-6ba756b558ca%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Brian Coca

Matt Martz

unread,
Jan 19, 2016, 10:44:17 AM1/19/16
to ansible...@googlegroups.com
You are explicitly checking that project_subtree_path is the string value of "False", and not the boolean False.

I would likely recommend making that part of the check look like:

when: project_subtree_path|bool and not project_subtree_full_path.stat.exists

--
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 ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/cd210cc9-5150-4f81-9618-6ba756b558ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Matt Martz
@sivel
sivel.net

Eduardo Esclapés Giménez

unread,
Jan 19, 2016, 11:11:18 AM1/19/16
to Ansible Project
Hi, thanks for your responses,

That variable is supposed to hold a string and 'False' meant that it was not applicable. Probably a bad choice.

I guess using an empty string would make more sense in this case, right?
Reply all
Reply to author
Forward
0 new messages