On Thursday, 8 March 2012 15:38:57 UTC+1, jcbollinger wrote:
>
>
>
> On Mar 7, 10:24 am, Bob Rontomskin <rontoms...@gmail.com> wrote: 
> > Hello group, 
> > 
> > I have a Tomcat class which takes a java package name as a parameter. 
> > The parameter looks like openjdk-1.2.3 or sunjava-2.3.4. The purpose of 
> the 
> > parameter is that it sets a configuration option in the Tomcat 
> > configuration to tell it which java binary to use. 
> > I need to determine which java binary to use by running the following 
> > command: 
> >  rpm -ql PKGNAME | grep 'bin/java$' 
> > This seems inefficient, and I don't want to run this every time, only 
> when 
> > the java package name changes. 
> > 
> > Is this even possible? Many thanks. 
> > 
> > Caveats: if the java package is already installed (i.e. not by puppet) 
> the 
> > Tomcat config must still be correct (i.e. I don't think a subscribe 
> would 
> > work). If the java package changes, the Tomcat config must be updated. 
>
>
> If Puppet is not managing the Java package, then how is it supposed to 
> know when the package name or version changes except by inquiring of 
> the system?  With all the constraints you have set, I don't see any 
> alternative to running a command such as the one you specified during 
> every Puppet run.  If you indeed pursue that general direction then I 
> would recommend wrapping the command into a custom fact. 
>
> HOWEVER, be it known that you are engaging in a Puppet antipattern. 
> It is better for Puppet to know how a node *should* be configured and 
> to make it so, than to adapt to node configuration details managed by 
> some other entity.  In particular, it seems horribly backwards to say 
> that Puppet needs to know the name of some installed package while 
> denying it the ability to manage that package. 
>

Excellent points, thanks. 

Additionally, your particular solution to identifying the Java binary 
> seems strange.  Linux systems with which I work all employ the 
> "alternatives" facility to make such issues transparent to ordinary 
> users and services.  That allows, for example, one of possibly many 
> installed Java runtimes to be elected as the default, to be run as / 
> usr/bin/java.  That is normally handled for you automatically via 
> package scripts, but you can use 'alternatives' manually, too.  Are 
> you sure you aren't making needless work for yourself? 
>

We musnt't change the system java version, just the version for Tomcat. We 
could set up a java-tomcat alternatives and use that. I'll see whether it 
works in our setup with changes as a result of your suggestion above.
 

>
>
> John 
>

 
Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/UViAFhG-0_wJ.
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