Hi,

We are using puppet to deploy our application. On each server, we can have
several instances of the application.
For example:
An application is a tomcat webapp. We can deploy the webapp on several
tomcat instances, and we also can deploy the webapp several times on each
tomcat (to have one instance by country for example).

So, each application is composed by:
   - a rpm package,
   - some configuration files that are the same for all instances
   - some crontabs.
   - and the definition of the instances.

So we have write a puppet class for each application. and the class call the
installation of an instance using a "define".
This works but if something goes wrong we are enable to know what! if puppet
have to install 5 applications, the only information we can retrieve is that
something fails. And so, we cannot know the state of the machine. Which
instances have been installed and so. So it's impossible to try to recover
the machine automatically.
The other problem with this approach is that the puppet classes are now very
huge and each resource need to have a require on all the resources that have
to be performed before (order is random...). This make the puppet classe
unreadable, and the debugging unreadable.

So my question is: Should we write a custom type to install an application ?
I doesn't have read a lot about this, but it seems that we will be able to
make the installation atomically (and so we will be able to know the state
of the machine) using a custom type ?
Is this a good approach of our problem ?

Benoit

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

Reply via email to