Using set_facts and with_items together in Ansible


I’m currently using Ansible 1.7.2. I have the following test playbook:

The first task sets a fact that’s a list with one item in it. The subsequent tasks append to that list with more values. The first three tasks work as expected, but the last one doesn’t. Here’s the output when I run this:

Given the with_items in task 4 and the fact that the output shows the task properly iterated over the items in that list, I would have expected the result to contain all the numbers zero through six. But that last task seems to only be evaluating set_fact with the last item in the list. Is this possibly a bug in Ansible?

Edit: I also just tested this on ansible 1.8 and the output was identical.


Looks like this behavior is how Ansible currently works, although there is a lot of interest in fixing it to work as desired. There’s currently a pull request with the desired functionality so hopefully this will get incorporated into Ansible eventually.

Leave a Reply