How to handle variables

29 views
Skip to first unread message

john...@ayasdi.com

unread,
Jun 22, 2016, 9:07:49 AM6/22/16
to Ansible Project
Looking for some help on a variable scenario

We have a lot of variables defined in the group_vars/all file which set the default variable that is used across multiple roles/playbook

For each environment, we have an ini inventory file. We would like to use the ini file as the place to override variable that might be different from default.

There is the feature for ansible to have env specific variable but you would need two file. Ideally we would like to keep everything in the same inventory file.

We have a section in the ini file called "[all:vars]" but it seems like the value in the group_vars/all override the one in the ini file which isn't ideal.

Anyone have any suggestion on how I could make this happen? Was thinking of using lookup but there doesn't seem to be a way to load it from the inventory file for variables.

Dick Davies

unread,
Jun 22, 2016, 7:27:59 PM6/22/16
to ansible list
I do this by having a per-environment inventory, each of which has its
own group_vars/all.
e.g.

production/hosts
production/group_vars/all
staging/hosts
staging/group_vars/all
dev/hosts
dev/group_vars/all

and so on. Then invoke the same play against each environment like :

ansible-playbook -i production/ site.yml

If you want you could have a file per environment with an [all:vars]
section laid out like this:

production_hosts
staging_hosts
dev_hosts

called with

ansible-playbook -i production_hosts site.yml

and do away with your group_vars/all altogether.
> --
> 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 ansible-proje...@googlegroups.com.
> To post to this group, send email to ansible...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/5bfaebf7-5aba-4eaf-b6af-27b248aef649%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages