Hi all,

in the setup I would like to automate with ansible I have mostly servers with
distinct purposes and on each server they may be several distinct
services/components. The plan is to use ansible to have the configuration of
all these servers in one place and to enable us to setup staging environments
for the new software we develop and for new releases of the software stack we
use (mariadb, nginx, ...)

Since we want to be able to rearrange the "services" (i.e., a database or a
FastCGI application) independently to different hosts I started to organize
everything into ansible groups, i.e., I have groups like

- database_01
- database_02
- ...
- fcgi_01
- fcgi_02
- ...

for each group I set variables in group_vars/<group-name>, which looks a
little bit like the following:

group_vars/database_01::
---
database_name: db01
database_user: user01
database_password: xxxxx
....

and then I have defined roles so that I can use very simple playbooks to roll
this setup out:

database_01.yml::
---
- hosts: database_01
  roles: [ database_role ]


Now for the tricky part: The way ansible works this can not work if I have two
databases on the same host. Then I would have two database groups (e.g.,
database_01 and database_01) that contain the same host

hosts::
[database_01]
db_host

[database_02]
db_host

and the playbook would load for host db_host the variables of all groups that
include db_host, i.e, the variables of both database_01 and database_02 are
loaded and I do not install the correct database when running the playbook.


Is there some best practice how to configure small "components" (databases,
fastcgi applications, ...) so that I can separate the configuration of the
component from the configuration where the component is going to be installed
and I can have multiple "components" of the same kind on the same host?

-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/546DD0E0.9070207%40mvua.de.
For more options, visit https://groups.google.com/d/optout.

Reply via email to