Issue #11082 has been updated by Ken Barber.

Target version changed from 1.7.x to 1.7.0


----------------------------------------
Feature #11082: operatingsystemrelease for Solaris
https://projects.puppetlabs.com/issues/11082

Author: John Warburton
Status: Merged - Pending Release
Priority: Normal
Assignee: Stefan Schulte
Category: library
Target version: 1.7.0
Keywords: 
Branch: https://github.com/stschulte/facter/tree/feature/master/11082
Affected Facter version: 


We need to know what release of Solaris installed. We have code (below) which 
parses /etc/release, which maybe others would like to see in future versions of 
facter rather than returning kernelversion

Code is clunky, as my ruby is pretty basic, but should go into 
lib/facter/operatingsystemrelease.rb. Ideally the regexp should not need the 
extra "ustring" search, but I haven't worked out how to cater for when the "_u" 
is not present - which is why I'm not prepared to submit a patch

The values returned work correctly with the versioncmp function

        releasefile = "/etc/release"
        File::open(releasefile, "r") do |f|
            line = f.readline.chomp

            line =~ /s(\d+)[s|x]*.* [SPARC|X86]/
            relstring = $1

            # sometimes the _u is not there on the initial release
            line =~ /s\d+[s|x]*_u(\d+).* [SPARC|X86]/
            ustring = $1
            if (ustring.nil?)
                operatingsystemrelease = relstring
            else
                operatingsystemrelease = relstring + "_u#{ustring}"
            end

Note that this regexp has been tested against all /etc/release entries from 
Solaris 8 to Solaris 10 U10 (SPARC & x86) per Support Document [How to 
Determine the Release and Default Kernel Version in the Solaris Operating 
System [ID 
1002239.1]](https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=HOWTO&id=1002239.1)
 (you need an Oracle support account to view this file). I do not have a 
Solaris 11 server to validate Solaris 11

Here are my test results:
    Solaris 8 s28_38shwp2 SPARC ==> 28
    Solaris 8 6/00 s28s_u1wos_08 SPARC ==> 28_u1
    Solaris 8 10/00 s28s_u2wos_11b SPARC ==> 28_u2
    Solaris 8 1/01 s28s_u3wos_08 SPARC ==> 28_u3
    Solaris 8 4/01 s28s_u4wos_08 SPARC ==> 28_u4
    Solaris 8 7/01 s28s_u5wos_08 SPARC ==> 28_u5
    Solaris 8 10/01 s28s_u6wos_08a SPARC ==> 28_u6
    Solaris 8 2/02 s28s_u7wos_08a SPARC ==> 28_u7
    Solaris 8 HW 12/02 s28s_hw1wos_06a SPARC ==> 28
    Solaris 8 HW 5/03 s28s_hw2wos_06a SPARC ==> 28
    Solaris 8 HW 7/03 s28s_hw3wos_05a SPARC ==> 28
    Solaris 8 2/04 s28s_hw4wos_05a SPARC ==> 28
    Solaris 9 s9_58shwpl3 SPARC ==> 9
    Solaris 9 9/02 s9s_u1wos_08b SPARC ==> 9_u1
    Solaris 9 12/02 s9s_u2wos_10 SPARC ==> 9_u2
    Solaris 9 4/03 s9s_u3wos_08 SPARC ==> 9_u3
    Solaris 9 8/03 s9s_u4wos_08a SPARC ==> 9_u4
    Solaris 9 12/03 s9s_u5wos_08b SPARC ==> 9_u5
    Solaris 9 4/04 s9s_u6wos_08a SPARC ==> 9_u6
    Solaris 9 9/04 s9s_u7wos_09 SPARC ==> 9_u7
    Solaris 9 9/05 s9s_u8wos_05 SPARC ==> 9_u8
    Solaris 9 9/05 HW s9s_u9wos_06b SPARC ==> 9_u9
    Solaris 10 3/05 s10_74L2a SPARC ==> 10
    Solaris 10 3/05 HW1 s10s_wos_74L2a SPARC ==> 10
    Solaris 10 3/05 HW2 s10s_hw2wos_05 SPARC ==> 10
    Solaris 10 1/06 s10s_u1wos_19a SPARC ==> 10_u1
    Solaris 10 6/06 s10s_u2wos_09a SPARC ==> 10_u2
    Solaris 10 11/06 s10s_u3wos_10 SPARC ==> 10_u3
    Solaris 10 8/07 s10s_u4wos_12b SPARC ==> 10_u4
    Solaris 10 5/08 s10s_u5wos_10 SPARC ==> 10_u5
    Solaris 10 10/08 s10s_u6wos_07b SPARC ==> 10_u6
    Solaris 10 5/09 s10s_u7wos_08 SPARC ==> 10_u7
    Solaris 10 10/09 s10s_u8wos_08a SPARC ==> 10_u8
    Oracle Solaris 10 9/10 s10s_u9wos_14a SPARC ==> 10_u9
    Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC ==> 10_u10
    Solaris 10 3/05 HW1 s10x_wos_74L2a X86  ==> 10
    Solaris 10 1/06 s10x_u1wos_19a X86 ==> 10_u1
    Solaris 10 6/06 s10x_u2wos_09a X86  ==> 10_u2
    Solaris 10 11/06 s10x_u3wos_10 X86  ==> 10_u3
    Solaris 10 8/07 s10x_u4wos_12b X86  ==> 10_u4
    Solaris 10 5/08 s10x_u5wos_10 X86  ==> 10_u5
    Solaris 10 10/08 s10x_u6wos_07b X86  ==> 10_u6
    Solaris 10 5/09 s10x_u7wos_08 X86 ==> 10_u7
    Solaris 10 10/09 s10x_u8wos_08a X86 ==> 10_u8
    Oracle Solaris 10 9/10 s10x_u9wos_14a X86 ==> 10_u9
    Oracle Solaris 10 8/11 s10x_u10wos_17b X86 ==> 10_u10



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to