I'm not entirely certain of your scenario, but unless you are going to
purposely have two versions of the same application running in production
for extended periods, this seems like the wrong way to do this.

Do you have some way to roll through Dev, Test, Staging, Production?

Can you just have one class for myApplication that gets versioned that goes
through the process to production?

We have some plans to handle more generic state transitions using Puppet, so
you could do something like apply this manifest, then this one, then this
other one, which would make your problem trivial.






On Mon, Jan 26, 2009 at 9:18 AM, nicolas <ncapp...@yahoo.fr> wrote:

>
> Hello,
>
>   I'm currently prototyping the use of Puppet to manage a bunch of
> home-made applications on a lot of servers.
>   As our applications evolves frequently and multiples versions can
> be used at the same time, we use classes that include version in their
> name, like "myApplication_1-2-0"
>
>  A typical application class like "myApplication_1-2-0" contains for
> example a package to install, some configuration files as templates, a
> crontab, a service definition and a mount point
>
>  When I want to deploy version 1-3-0 of my application on a node, to
> replace version 1-2-0, the standard way to do with puppet, as I
> understand it, would be :
>  - node initially contains "include myApplication_1-2-0"
>  - I edit node to contains "include myApplication_1-2-0::remove"
> where myApplication_1-2-0::remove is a class that removes everything
> myApplication_1-2-0 installed
>  - I apply the config to node
>  - I edit the node to contains "include myApplication_1-3-0"
>  - I apply the config to node
>
> But on node, there is the localconfig.yaml file (usually in /var/lib/
> puppet/) that contains everything needed to know what should be
> removed when myApplication_1-2-0 is installed.
> I was thinking of automating this step like this :
>  - retrieve config from master
>  - retrieve local config (in localconfig.yaml)
>  - if an application has not the same version on the master and
> locally then
>   a)  change everything to absent for version which is locally
> installed
>   b) apply this, so local version is removed
>   c) then apply config from master, so new version is installed
>
> Do you think it's a good approach ?
> If not, do you know an alternate ways to manage applications that have
> several versions ?
>
> thanks for your answers
> nicolas
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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