Hi everyone,

Just getting into Puppet, so please bear with me :D

I'm setting up a java module to keep an eye on the java installation on our 
RHEL machines. Quick background, RHEL ships openjdk, we need to use Oracle 
instead. I've gone ahead and put the latest oracle java6 RPM, *
jre-6u45-linux-amd64*, on one of our puppet-managed boxes.

Like many distributions, RHEL has a utility to manage multiple 
installations of java. I've already set the default version of java to the 
latest oracle, so java -version yields java version "1.6.0_45".

Here is a dead simple java module to verify installation

class java {
  package { 'jre-6u45-linux-amd64':
    ensure => installed,
  }
}

This works great, but suppose I change the default by hand, just to gauge 
puppet's reaction.

sudo alternatives --set java /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
java -version
java version "1.6.0_24"

Now, when I run sudo puppet agent --test, this is what comes out

Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install 
jre-6u45-linux-amd64' returned 1: Error: Nothing to do

Error: /Stage[main]/Java/Package[jre-6u45-linux-amd64]/ensure: change from 
absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install 
jre-6u45-linux-amd64' returned 1: Error: Nothing to do

This is actually not what I expected, since* jre-6u45-linux-amd* is 
installed, just not set to be the default. Puppet seems to think the 
package is absent however, any thoughts on the reaction from puppet?

Ultimately what I'd like to achieve is a smooth check / ensure that java is 
installed and at the correct version, but since this is an RPM from outside 
yum I'm running into a little trouble. First off, I'd expect the above 
module to work, even when the correct version isn't configured. The next 
step in my mind would be to coax puppet into running sudo alternatives 
--set java /usr/java/jre1.6.0_45/bin/java if the installation check 
succeeds, but the default isn't correctly set.

I grabbed a *java_version* fact from another groups 
discussion<https://groups.google.com/forum/#!topic/puppet-users/W67dvqS-GdU>, 
and naively the module code would look something like this

# if version check in package resource succeeds ..
if($java_version != '1.6.0_45')
 # run sudo alternatives --set java /usr/java/jre1.6.0_45/bin/java

but I already know enough puppet to know that's not the way to do it :) Can 
you good people help a newb glue this one together?

thanks,

-nathan

-- 
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 puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to