diff options
author | markgibbons <mark.gibbons@nordstrom.com> | 2016-08-16 13:17:45 -0700 |
---|---|---|
committer | markgibbons <mark.gibbons@nordstrom.com> | 2016-08-16 13:17:45 -0700 |
commit | 9cbd80dff6009730c4d714ce0f77353a797ff292 (patch) | |
tree | c7bbeb2a145813dc4670574789f6ca2f59bde727 | |
parent | c6051283c1e6353d63e34b8c902d2cabec5b9eb0 (diff) | |
download | ohai-9cbd80dff6009730c4d714ce0f77353a797ff292.tar.gz |
Solaris_update_version: Create kernel[:update] for solaris 2
Extract the Solaris update information from /etc/release.
-rw-r--r-- | lib/ohai/plugins/kernel.rb | 4 | ||||
-rw-r--r-- | spec/unit/plugins/solaris2/kernel_spec.rb | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/ohai/plugins/kernel.rb b/lib/ohai/plugins/kernel.rb index 59665bba..b3a67fdc 100644 --- a/lib/ohai/plugins/kernel.rb +++ b/lib/ohai/plugins/kernel.rb @@ -151,6 +151,10 @@ Ohai.plugin(:Kernel) do so = shell_out("uname -s") kernel[:os] = so.stdout.split($/)[0] + so = File.open('/etc/release') { |file| file.gets } + md = /(?<update>\d.*\d)/.match(so) + kernel[:update] = md[:update] if md + modules = Mash.new so = shell_out("modinfo") diff --git a/spec/unit/plugins/solaris2/kernel_spec.rb b/spec/unit/plugins/solaris2/kernel_spec.rb index ad6f9768..bddaf7bb 100644 --- a/spec/unit/plugins/solaris2/kernel_spec.rb +++ b/spec/unit/plugins/solaris2/kernel_spec.rb @@ -139,8 +139,31 @@ describe Ohai::System, "Solaris2.X kernel plugin" do allow(@plugin).to receive(:init_kernel).and_return({}) allow(@plugin).to receive(:shell_out).with("uname -s").and_return(mock_shell_out(0, "SunOS\n", "")) allow(@plugin).to receive(:shell_out).with("modinfo").and_return(mock_shell_out(0, MODINFO, "")) + @release = StringIO.new(" Oracle Solaris 10 1/13 s10s_u11wos_24a SPARC\n Assembled 17 January 2013") + allow(File).to receive(:open).with("/etc/release").and_yield(@release) end + it "should give the Solaris update version informtion" do + @release = StringIO.new(" Solaris 10 10/08 s10s_u6wos_07b SPARC\n Use is subject to license terms.\n Assembled 27 October 2008") + allow(File).to receive(:open).with("/etc/release").and_yield(@release) + @plugin.run + expect(@plugin[:kernel][:update]).to eq('10 10/08 s10s_u6wos_07') + end + + it "should give the Oracle Solaris update version informtion" do + @release = StringIO.new(" Oracle Solaris 10 1/13 s10s_u11wos_24a SPARC\n Assembled 17 January 2013") + allow(File).to receive(:open).with("/etc/release").and_yield(@release) + @plugin.run + expect(@plugin[:kernel][:update]).to eq('10 1/13 s10s_u11wos_24') + end + + it "should give the Solaris 11 update version informtion" do + @release = StringIO.new(" Oracle Solaris 11.3 SPARC\n Assembled 25 July 2016") + allow(File).to receive(:open).with("/etc/release").and_yield(@release) + @plugin.run + expect(@plugin[:kernel][:update]).to eq('11.3') + end + it_should_check_from_deep_mash("solaris2::kernel", "kernel", "os", "uname -s", [0, "SunOS\n", ""]) it "gives excruciating detail about kernel modules" do |