Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Silviu Paragina
On 15.09.2010 18:52, Silviu Paragina wrote: Hmm. Understood, have you thought of using extlookup, that might be best for your case. Silviu To clarify, this might just be a brainfart, I'm still thinking about an elegant solution. :"> Silviu -- You received this message because you are su

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Silviu Paragina
On 15.09.2010 16:44, Marc Zampetti wrote: So does this mean that I need a new intermediate class for every possible version of the package? Just relying on using the "latest" is REALLY BAD in production. It means that I can NEVER know for sure that when I re-build a host that it is in the EXA

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- "Thomas Bellman" wrote: > 2010-09-15 16:51, R.I.Pienaar wrote: > > > - "Thomas Bellman" wrote: > > > >> define pkg($app) { > >> $version = extlookup("pkg_${name}_${app}", "present") > >> package { $name: ensure => $version; } > >> } > >> > >> class app1 {

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Thomas Bellman
2010-09-15 16:51, R.I.Pienaar wrote: > - "Thomas Bellman" wrote: > >> define pkg($app) { >> $version = extlookup("pkg_${name}_${app}", "present") >> package { $name: ensure => $version; } >> } >> >> class app1 { >> pkg { "needed-package": app => "app1"; }

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- "Thomas Bellman" wrote: > define pkg($app) { > $version = extlookup("pkg_${name}_${app}", "present") > package { $name: ensure => $version; } > } > > class app1 { > pkg { "needed-package": app => "app1"; } # Needs version > 10.17 > } > class ap

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Thomas Bellman
2010-09-15 16:15, R.I.Pienaar wrote: > - "Marc Zampetti" wrote: > >> The problem is that I'm trying to do just what you suggest. I have a >> single class that defines the package and a default version, or just >> installed. Then I have sub classes that try to override the version. >> So, t

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- "Marc Zampetti" wrote: > Thanks, I'll take a look. However, I'm not on 2.6.1, and don't plan to > be for awhile. I think I saw reference to your extlookup being > available for 0.25.5. Where can I find that? There's a 0.25.x version @ http://www.devco.net/code/extlookup.rb -- You recei

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Thomas Bellman
2010-09-15 15:36, Marc Zampetti wrote: > I don't think I've made my problem clear. The issue is NOT how to > specify a version for a package. I know how to do that. And I know how > to use a define to do it as well. > > The issue is that if I call the define from two different classes on the > s

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Marc Zampetti
Thanks, I'll take a look. However, I'm not on 2.6.1, and don't plan to be for awhile. I think I saw reference to your extlookup being available for 0.25.5. Where can I find that? Marc On 9/15/10 10:15 AM, R.I.Pienaar wrote: - "Marc Zampetti" wrote: The problem is that I'm trying to do

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- "Marc Zampetti" wrote: > The problem is that I'm trying to do just what you suggest. I have a > single class that defines the package and a default version, or just > installed. Then I have sub classes that try to override the version. > So, the base class is my generic "apache" class, a

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Peter Meier
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/15/2010 03:57 PM, Marc Zampetti wrote: > That is an interesting option. One question though, will I still get > the Dup error if I end up calling the pkg() define twice with the same > version from two different modules? That seems to be the roo

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Marc Zampetti
That is an interesting option. One question though, will I still get the Dup error if I end up calling the pkg() define twice with the same version from two different modules? That seems to be the root of my problem. Marc On 9/15/10 9:49 AM, R.I.Pienaar wrote: - "Marc Zampetti" wrote:

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- "Marc Zampetti" wrote: > So does this mean that I need a new intermediate class for every > possible version of the package? Just relying on using the "latest" is > REALLY BAD in production. It means that I can NEVER know for sure that > when I re-build a host that it is in the EXACT stat

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Marc Zampetti
So does this mean that I need a new intermediate class for every possible version of the package? Just relying on using the "latest" is REALLY BAD in production. It means that I can NEVER know for sure that when I re-build a host that it is in the EXACT state I defined it as. You have to remem

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread Marc Zampetti
I don't think I've made my problem clear. The issue is NOT how to specify a version for a package. I know how to do that. And I know how to use a define to do it as well. The issue is that if I call the define from two different classes on the same node, I get Duplicate errors. I also know ho

Re: [Puppet Users] Specifying version for shared packages

2010-09-14 Thread Darren Chamberlain
I do this kind of thing in a few places, for things like different or specific versions of mysql, tomcat, libraries, and so on. I use a define to wrap this up, and the declare is called from within the node defitions. A simplified example of our method: define install ($version) { package

Re: [Puppet Users] Specifying version for shared packages

2010-09-14 Thread Silviu Paragina
Skipping the practices part, you can achieve the final objective by adding another level of inheritance (apache-app-ver-2) and the two classes in the end would inherit from, or include, this new class. Logically if there is any reason for apache having the same version in both application

Re: [Puppet Users] Specifying version for shared packages

2010-09-14 Thread Douglas Garstang
On Tue, Sep 14, 2010 at 2:36 PM, Douglas Garstang wrote: > On Tue, Sep 14, 2010 at 1:12 PM, Marc Zampetti > wrote: >>  I've been banging my head on this all day, and I cannot seem to figure out >> how to do it. >> >> I have a package for Apache HTTPd. I want to be able to specify the exact >> ve

Re: [Puppet Users] Specifying version for shared packages

2010-09-14 Thread Douglas Garstang
On Tue, Sep 14, 2010 at 1:12 PM, Marc Zampetti wrote: >  I've been banging my head on this all day, and I cannot seem to figure out > how to do it. > > I have a package for Apache HTTPd. I want to be able to specify the exact > version of the package to use for a particular installation. And it is

Re: [Puppet Users] Specifying version for shared packages

2010-09-14 Thread Marc Zampetti
Basically, I'm trying to build modules that implement best practices (the app-apache module), and then admins that need to build specific apache instances just create a new module that inherits from the base class and provides the information they need. So, admin A wants to build apache serve

Re: [Puppet Users] Specifying version for shared packages

2010-09-14 Thread Silviu Paragina
On 14.09.2010 23:12, Marc Zampetti wrote: I've been banging my head on this all day, and I cannot seem to figure out how to do it. I have a package for Apache HTTPd. I want to be able to specify the exact version of the package to use for a particular installation. And it is also possible t

[Puppet Users] Specifying version for shared packages

2010-09-14 Thread Marc Zampetti
I've been banging my head on this all day, and I cannot seem to figure out how to do it. I have a package for Apache HTTPd. I want to be able to specify the exact version of the package to use for a particular installation. And it is also possible that I want to have two separate modules inst