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.