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

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

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- Marc Zampetti marc.zampe...@gmail.com 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

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

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 root

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- Marc Zampetti marc.zampe...@gmail.com 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

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 Zampettimarc.zampe...@gmail.com wrote: The problem is

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 same

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- Marc Zampetti marc.zampe...@gmail.com 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 @

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 marc.zampe...@gmail.com 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

Re: [Puppet Users] Specifying version for shared packages

2010-09-15 Thread R.I.Pienaar
- Thomas Bellman bell...@nsc.liu.se 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 app2

Re: [Puppet Users] Specifying version for shared packages

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

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

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

[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

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

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

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 marc.zampe...@gmail.com 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

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 doug.garst...@gmail.com wrote: On Tue, Sep 14, 2010 at 1:12 PM, Marc Zampetti marc.zampe...@gmail.com 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

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