Thanks Brian (and Matt) the |default([]) did fix it.  I did test it on 
1.9.4 as presented and it did work. Here is my output 

[vagrant@ansibleserver provisioning]$ ansible --version
ansible 1.9.4
  configured module search path = /usr/share/ansible


[vagrant@ansibleserver provisioning]$ ansible-playbook -i host test.yml


PLAY [configure and deploy the webservers and application code] 
***************


GATHERING FACTS 
***************************************************************
ok: [localhost]


TASK: [test | debug msg "Foo is " {{ foo }}] 
**********************************
skipping: [localhost]


TASK: [test | debug msg "Foo is " {{ foo }}] 
**********************************
skipping: [localhost]


TASK: [test | Install generic php] 
********************************************
changed: [localhost] => (item=php)


TASK: [test | Install php and packages from php_packages] 
*********************
skipping: [localhost]


PLAY RECAP 
********************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0

You can see the step does get skipped when running on 1.9.4

On Monday, November 23, 2015 at 3:39:23 PM UTC-8, Brian Coca wrote:
>
> This has not changed, when: always executes after with_ : , this is so 
> you can use 'item' in your when clause to conditionally execute each 
> loop iteration. This means you CANNOT use it to prevent an undefined 
> error in with_, you need to use default([]) to provide an empty list, 
> which will skip the task: 
>
> - name: Install php and packages from php_packages 
>   yum: name={{ item }} enablerepo=epel state=present 
>   with_items: 
>       - '{{ php_packages|default([]) }}' 
>
>
> -- 
> Brian Coca 
>

-- 
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/bb2d2e2d-5b59-420d-9fbc-449a6a747f77%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to