where to manage common inventory properties

Hi all,

we started to create our inventory and in the beginning we were just fine with the host_vars and group_vars option to place our properties.
Now, for some configuration we have almost the same settings on DEV, TEST and PROD environment and I´m think about where to put them.

Of course, I can put the common properties to roles/…/vars or directly into the playbook

  • but than it ends up with a “configuration management” based on inventory and vars files in the playbooks, roles or whereever.

I know about the group_vars/all option - but this is only for one environment - not for many like

`
inventory/trunk/

  • dev1
    hosts
  • dev3
  • test1
  • prod
    hosts

`

What is best practice to manage such “common inventory properties” - and to dont end up with some properties here, others there in the filesystem ?

Is the only way a dynamic inventory that will than solve this problem in its implementation?

Thanx, Torsten

You can get common group_vars, by either using directory per group + symlinks, or putting group_vars next to playbook (they would be loaded in addition to those next to inventory).

The second one used to have problems with vars for the same group defined in both places, but you can work around this by making separate *_common groups.

Torsten Reinhard info@torstenreinhard.de napisał:

I like using group_vars and host_vars for these things, though it should be noted it’s a good idea to keep your production and dev inventory in different files, to avoid the chance of doing “-i inventory.ini” against the all group and managing them simultaneously.