[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}.

1,923 views
Skip to first unread message

trg.ac...@gmail.com

unread,
Jun 29, 2017, 5:34:04 PM6/29/17
to Ansible Project, bial...@gmail.com
Hello,

I'm trying to remove jinja delimiter used in when condition.
My condition tests whether partition exists on disk drive. I use variable to assign which drive to test 
vars:
  raw_disk: 'sdb'

task:
  - include: lvm.yml
    when: ansible_devices.{{ raw_disk }}.partitions|length == 0

with {{ raw_disk }} I receive [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}.

What should be the correct condition so the variable can be included ansible facts

Josh Smift

unread,
Jun 29, 2017, 6:50:29 PM6/29/17
to ansible...@googlegroups.com, bial...@gmail.com
ta> task:
ta> - include: lvm.yml
ta> when: ansible_devices.{{ raw_disk }}.partitions|length == 0

The shortcut a.b.c.d notation doesn't let you distinguish between literals
and variables. Try the more Pythonic

when: ansible_devices[raw_disk]['partitions']|length == 0

and see if that does the trick.

-Josh (j...@care.com)

(apologies for the automatic corporate disclaimer that follows)

This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.

trg.ac...@gmail.com

unread,
Jun 30, 2017, 4:17:22 AM6/30/17
to Ansible Project, bial...@gmail.com
Josh, thank you for the hint. Work as expected.
Reply all
Reply to author
Forward
0 new messages