On Apr 25, 2013, at 9:47 AM, jcbollinger <[email protected]>
 wrote:

> On Wednesday, April 24, 2013 4:24:08 PM UTC-5, Larry Fast wrote:
> I keep running into the following upgrade pattern.
>
> Previous Puppet run declared:
>      file { "my_jar.1.2.3.jar": ... }
>
> New puppet run declares:
>      file {"my_jar.2.4.6.jar": ... }
>
> But the new puppet run doesn't delete the older versions of this jar file.
>
> Is there a standard puppet pattern for removing older versions of jars 
> without explicitly naming each version?
>
> The overall pattern is...
>
>    declare resource file {  "my_jar.1.2.3.jar": }
>    ensure absent for all older versions of my_jar
>    ensure => "1.2.3"  (imaginary code since version is specified in the name)
>    only restart service if my_jar.nnn.jar  has changed
>
>
>
> You need to be able to identify the files to remove somehow.  If you don't 
> want to list them individually, then the most automated way to do it would be 
> to manage the directory in which they reside, and use the 'purge' parameter 
> for the directory.  That does require that all the wanted contents of the 
> directory be managed, but you should be able to arrange that one way or 
> another.  For example, if there are unmanaged files that you want to keep, 
> then you could move the managed jar file(s) to a for-purpose, managed 
> subdirectory, and symlink the correct one to its original location.
>
> Alternatively, you can probably come up with an Exec that removes (only) the 
> unwanted files.  That's less in the Puppet spirit, but probably quicker and 
> easier to write (yet maybe also more prone to bugs).
>
>
> John


John's suggestion is definitely the cleanest.

Some shops have a regularly scheduled deployment of a new jar with updated 
content, and like to keep the last version around.
If that is close to your paradigm,  you could also do this with a cron job to 
purge any jar files older than ((2x(deployment delta))+~7 ) days. This would 
give you the ability to keep the current+last in case you need to rollback at 
some point in time.




________________________________

This message may contain confidential or privileged information. If you are not 
the intended recipient, please advise us immediately and delete this message. 
See http://www.datapipe.com/legal/email_disclaimer/ for further information on 
confidentiality and the risks of non-secure electronic communication. If you 
cannot access these links, please notify us by reply message and we will send 
the contents to you.

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to