2010/4/14 Michael DeHaan <[email protected]>

> On Wed, Apr 14, 2010 at 6:37 AM, jerome moliere
> <[email protected]> wrote:
> > Hi,
> > excuse me if this question is a stupid one....
> > I'm about convincing my customers to use Puppet before this, I 'd like
> > to make a POC with part from the current complexity ...
> > Like any company (I guess) , we have different envrionments:
> > - development
> > - staging
> > - production...
> > Applications are deployed on 2 sites (40km of fiber channel wires
> > between these 2 sites)
> >
> > Each environment induces a different list from IPs (servers), HA
> > constraints present or not and so on..
> >
> > I'd like to make a POC with one the service deplyoed here (the one I'm
> > responsible of) Jboss servers:
> > - Java applications (so require a JRE)
> > - Unix service present
> > - different config files (many in the Java world)
> >
> > On each machine I want to start 4 instances of the same Jboss service
> > using different VIP addresses (ethernet bonding) so I want to do
> > something like this (this is a very simplistic view because each
> > server has got hundred of different config files but who cares):
> > /
> > / jboss1
> >     server
> >         all
> >           deploy
> >                log4j.xml
> > /jboss2
> > server
> >         all
> >           deploy
> >                log4j.xml
> > /jboss3
> > server
> >         all
> >           deploy
> >                log4j.xml
> > /jboss4
> > server
> >         all
> >           deploy
> >                log4j.xml
> >
>
> This looks like a good place to use a defined type for a java app
> server, and use that resource
> multiple times with different variables passed in.
>
> >
> > The files under control will have the structure and quitely same
> > contents (template) but they will use different IPs, different machine
> > names, different ports and so on...
> >
> > I'd like to know if it was possible to manage such kind of structure
> > because manys amples use static files ...(/etc/passwd). Does Puppet
> > enable to manage /etc/passwd$i files ? Contents from this file would
> > be scripted using ruby of course
>
>

hi Michael,
tanks for your answer, I'll try to be more precise..

> Not sure what you mean by /etc/password$i ... do you mean something
> like building a file out
> of smaller parts?   In this case, absolutely...
>
>

No, in fact I'd like to have a common template file used in different
contexts to produce a target file..
Let's say in each environment I've got the same database definition file in
Jboss jargon means a file : mydb-ds.xml
 contents from that file will be specific to point different databases
depending from the site, HA failures and so on


But I 've got another constraint:
I want on each machine to 'duplicate' services , instantiate them with
different contextual values
a good example (simpler) would be with Apache servers running on different
ports:
80 for production
8080 for testing

My jboss servers will bind a different IP but use the same configuration
profile (same set of files) but with contents depending from rules (it's my
problem not yours)...

That's why I draw the schema with:
/
/jboss1
/jboss2
/jboss3
/jboss4

Trying to rewrite my question with more accuracy:
Is there a way with Puppet to manage a template file and to deploy it
following certain rules on the client node?
I don't want just a ruby interpretation of the contents from the script but
I want:
- execute some logic to find where to copy it
- then execute the script and generate the file


I hope to be clear
cheers
Jerome

> Actually in that case you what to use the User resource, but in cases
> where you want to build
> a common file out of multiple pieces created by multiple defined
> resources, this is a good place
> to use the File Fragment idiom, which you can see a bit of here:
>
>
> http://www.devco.net/archives/2010/02/19/building_files_from_fragments_with_puppet.php
>
> --
Jerome Moliere - Mentor/J
http://romjethoughts.blogspot.com/
auteur Eyrolles

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to