On Thu, 2014-01-23 at 08:26 -0800, Krist van Besien wrote:

>         
>         
> 
> Basically my situation is the following:
> - A database server
> - Several web application servers. 
> 
> The whole managed using foreman/puppet
> 
> My Web applications each need a database, so I would like to just
> export on the web application nodes the databases I need, and collect
> them on the database server. However, several nodes that run the same
> web application of course need the same database. What do I do when I
> have two nodes, that both need the same database? 
> The logical, intuitive solution would be to export it on all of them,
> but only collect it once on the database server. 
> 
> Other situations are : backends to a loadbalancer that export both
> frontend and backend URLs. The loadbalancer collects both, and creates
> it's configuration based on them.
> 
> Krist

We have something quite similar - as we use hiera extensively we managed
to have a common yaml file with a list of databases in a hash, and used
create_resources to create the databases (and users, and haproxy
listeners) on the database/haproxy nodes.

The application nodes that want to register with a load balancer export
resources for themselves only, which are collected on the load balancer
only.

An alternative is to have a manifest that ensures there is a suitable
database available, creating it if not, running on the web application
servers - you've got a db client there already which should be able to
access the db server.  That approach also allows you to ensure there's a
database created before attempting to populate it and start the app,
exported resources mean you'll need several runs before everything is
clean.


-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/1390501547.11665.13.camel%40debian.my.home.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to