Douglas,

You won't be able to use pure python in a when statement, you will have to 
handle it using jinja2.

I see 2 options for you:

1) Use a combination of several jinja2 filters to get you what you want such as:

when: 
ansible_mounts|map(attribute='mount')|intersect(['/var/lib/myMount'])|length == 0

2) Create your own custom jinja2 filter to do this.

-- 
Matt Martz
[email protected]

On April 3, 2014 at 10:27:23 PM, [email protected] 
([email protected]) wrote:

Hi all,

I was trying to update ansible from 1.2 to 1.5 and noticed that I can no longer 
use "only_if" which has been replaced by "when".

But when I try to run a shell task with this condition:

when: "len(filter(lambda m: m['mount'] == '/var/lib/myMount', 
'{{ansible_mounts}}')) == 0"

I get the following error:

error while evaluating conditional: len(filter(lambda m: m['mount'] == 
'/var/lib/myMount', '[{u'size_total': 8455118848, u'mount': u'/', 
u'size_available': 6891151360, u'fstype': u'ext4', u'device': u'/dev/xvda1', 
u'options': u'rw'}, {u'size_total': 16122802176, u'mount': u'/mnt', 
u'size_available': 15129432064, u'fstype': u'ext3', u'device': u'/dev/xvdb', 
u'options': u'rw,_netdev'}, {u'size_total': 107321753600, u'mount': 
u'/var/lib/myMount', u'size_available': 107250851840, u'fstype': u'xfs', 
u'device': u'/dev/xvdf', u'options': u'rw,noatime'}]')) == 0

The ansible_mounts variable is being correctly returned as you can see in the 
error message.

I've tryed different combinations of positioning the quote marks but no luck.

Any help?

Regards,
Douglas
--
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/112db0a1-c88e-4bc5-a896-a9f738909391%40googlegroups.com.
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/etPan.533ea293.6b8b4567.c382%40mobiletuvix.rackspace.corp.
For more options, visit https://groups.google.com/d/optout.

Reply via email to