Ansible production and development, change hostname

Hello,

I want to use the same playbook for production and development. The playbook is divided in separate role-hosts, let’s say: pubsubservers and mongoservers. I have a hosts file assigning the hostnames:

[mongoservers]
172.16.2.198

[pubsubservers]
172.16.2.211

[pubsubandmongo:children]
mongoservers
pubsubservers

Imagine that the configuration shown above is for production (production ip adresses). Is there any way to “override” the ip adresses for development (i.e. 127.0.0.1 for both mongoservers and pubsubservers) without changing the hosts file?

Thank you,

Have 2 inventories, one for prod and one for dev. then just call
Ansible with '-i prod/' or '-i dev/' .

As Dick says, you can use multiple inventories. Check out the directory layout in the Ansible Best Practices guide for more info: http://docs.ansible.com/ansible/playbooks_best_practices.html#directory-layout