# playbooks and setup module made a lot more efficient

**URL:** <https://forum.ansible.com/t/playbooks-and-setup-module-made-a-lot-more-efficient/11680>\
**Category:** Ansible Project\
**Created:** [July 14, 2012, 4:54pm UTC](https://forum.ansible.com/t/playbooks-and-setup-module-made-a-lot-more-efficient/11680 "2012-07-14T16:54:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [July 14, 2012, 4:54pm UTC](https://forum.ansible.com/t/playbooks-and-setup-module-made-a-lot-more-efficient/11680/1 "2012-07-14T16:54:32Z")

</div>

A few changes to the way the setup module works, which are pretty transparent to everyone, unless you wrote some code that was reading  
that file.

(A)

Ansible no longer writes a setup file to the remote system. This means you have to use the template module only within playbooks.

(B)

Ansible will only run the setup module once per play now, even if you are using vars\_files. This is much faster, and saves duplicate work  
on nodes.

(C)

Ansible no longer pushes all possible remote variables into /etc/ansible/setup. This means ansible remote machines never see all the  
variables you make available to them, only what they need to see.

If you want to see what facts are available to a host, that's still there, just run

ansible hostname -m setup

And you can see them.

--Michael
