Re: [Puppet Users] Using Facter to find the Java version running on the machine

955 views
Skip to first unread message

Craig White

unread,
Feb 21, 2013, 5:14:14 PM2/21/13
to puppet...@googlegroups.com

On Feb 21, 2013, at 1:27 PM, Camerodity wrote:

> Hello all,
>
> I am currently trying to setup a Custom Fact that will can be used to determine the version of the Java JRE running on a machine, in order to use it in my manifests to ensure the proper JARS are distribured based on environment. I'm trying to use the java -version command and then capture the JRE release (eg "1.6.0_37"). No matter what I have tried, the output is always the full display from the Java -version command. Has anyone done this or something similar before? Any suggestions?
----
don't know about the java command but I suspect some variation of this will do it. (%x[ ] captures the output of command(s) executed within the square brackets)

Facter.add("ruby_version") do
setcode do
ruby_version = "unknown"
rubypath = %x[facter rubysitedir]
ruby_version = %x[ruby -v | cut -f2 -d ' ']
ruby_version
end
end

Craig

Kyle Sexton

unread,
Feb 21, 2013, 5:33:14 PM2/21/13
to puppet...@googlegroups.com
Camerodity <camer...@gmail.com> writes:

> Hello all,
>
> I am currently trying to setup a Custom Fact that will can be used to determine the version of the
> Java JRE running on a machine, in order to use it in my manifests to ensure the proper JARS are
> distribured based on environment. I'm trying to use the java -version command and then capture the
> JRE release (eg "1.6.0_37"). No matter what I have tried, the output is always the full display
> from the Java -version command. Has anyone done this or something similar before? Any suggestions?
>

Hard to know for sure without seeing any code. Have you checked that
it's going to stdout?

java -version 1> 1.txt
java -version 2> 2.txt

Also, perhaps looking at the package (rpm, deb, etc..) installed would be more
effective?

--
Kyle Sexton

Dan White

unread,
Feb 21, 2013, 5:50:24 PM2/21/13
to puppet...@googlegroups.com
java -version 2>&1 | head -n 1 | cut -f2 -d'"'

Apparently, the output goes to stderr !

“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)


From: "Craig White" <craig...@ttiltd.com>
To: puppet...@googlegroups.com
Sent: Thursday, February 21, 2013 5:14:14 PM
Subject: Re: [Puppet Users] Using Facter to find the Java version running on the machine
--
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...@googlegroups.com.
To post to this group, send email to puppet...@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Steven Nemetz

unread,
Feb 21, 2013, 6:06:57 PM2/21/13
to Puppet-Users Mailing List
This is the fact that I use
 
Facter.add("java_version") do
    setcode do
        `/usr/bin/java -version 2>&1`.split("\n")[0].split('"')[1]
    end    
end 


Steven
 

Date: Thu, 21 Feb 2013 22:50:24 +0000
From: yg...@comcast.net
To: puppet...@googlegroups.com

Camerodity

unread,
Feb 25, 2013, 8:50:25 AM2/25/13
to puppet...@googlegroups.com
Great! Thank you so much, I used your example and got the desired output. I really appreciate your time.
 
Mike

Camerodity

unread,
Feb 25, 2013, 8:56:55 AM2/25/13
to puppet...@googlegroups.com
Steven,
 
Thanks!! Your example really helped me and I now have the desired custom fact
Reply all
Reply to author
Forward
0 new messages