From 815b86044592f3f64582cb34f54da175172b0a51 Mon Sep 17 00:00:00 2001 From: Mathieu Sauve-Frankel Date: Fri, 27 Feb 2009 15:59:13 +0900 Subject: add integration tests for plugins/freebsd/hostname.rb --- spec/ohai/plugins/freebsd/hostname_spec.rb | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 spec/ohai/plugins/freebsd/hostname_spec.rb diff --git a/spec/ohai/plugins/freebsd/hostname_spec.rb b/spec/ohai/plugins/freebsd/hostname_spec.rb new file mode 100644 index 00000000..31d89efd --- /dev/null +++ b/spec/ohai/plugins/freebsd/hostname_spec.rb @@ -0,0 +1,34 @@ +# +# Author:: Adam Jacob () +# Copyright:: Copyright (c) 2008 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +require File.join(File.dirname(__FILE__), '..', '..', '..', '/spec_helper.rb') + +describe Ohai::System, "FreeBSD hostname plugin" do + before(:each) do + @ohai = Ohai::System.new + @ohai.stub!(:require_plugin).and_return(true) + @ohai[:os] = "freebsd" + @ohai.stub!(:from).with("hostname -s").and_return("katie") + @ohai.stub!(:from).with("hostname -f").and_return("katie.bethell") + end + + it_should_check_from("freebsd::hostname", "hostname", "hostname -s", "katie") + + it_should_check_from("freebsd::hostname", "fqdn", "hostname -f", "katie.bethell") +end -- cgit v1.2.1 From 16c413e679dd38d38a7db77fade713f741abc004 Mon Sep 17 00:00:00 2001 From: Mathieu Sauve-Frankel Date: Fri, 27 Feb 2009 15:59:41 +0900 Subject: add integration tests for plugins/freebsd/platform.rb --- spec/ohai/plugins/freebsd/platform_spec.rb | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 spec/ohai/plugins/freebsd/platform_spec.rb diff --git a/spec/ohai/plugins/freebsd/platform_spec.rb b/spec/ohai/plugins/freebsd/platform_spec.rb new file mode 100644 index 00000000..68110752 --- /dev/null +++ b/spec/ohai/plugins/freebsd/platform_spec.rb @@ -0,0 +1,40 @@ +# +# Author:: Adam Jacob () +# Copyright:: Copyright (c) 2008 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +require File.join(File.dirname(__FILE__), '..', '..', '..', '/spec_helper.rb') + +describe Ohai::System, "FreeBSD plugin platform" do + before(:each) do + @ohai = Ohai::System.new + @ohai.stub!(:require_plugin).and_return(true) + @ohai.stub!(:from).with("uname -s").and_return("FreeBSD") + @ohai.stub!(:from).with("uname -r").and_return("7.1") + @ohai[:os] = "freebsd" + end + + it "should set platform to lowercased lsb[:id]" do + @ohai._require_plugin("freebsd::platform") + @ohai[:platform].should == "freebsd" + end + + it "should set platform_version to lsb[:release]" do + @ohai._require_plugin("freebsd::platform") + @ohai[:platform_version].should == "7.1" + end +end -- cgit v1.2.1 From f2aed655ae79aeb9c9853d610aea32e0a973b79d Mon Sep 17 00:00:00 2001 From: Mathieu Sauve-Frankel Date: Fri, 27 Feb 2009 16:17:09 +0900 Subject: add work-in-progress unit test for plugins/freebsd/kernel.rb --- spec/ohai/plugins/freebsd/kernel_spec.rb | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 spec/ohai/plugins/freebsd/kernel_spec.rb diff --git a/spec/ohai/plugins/freebsd/kernel_spec.rb b/spec/ohai/plugins/freebsd/kernel_spec.rb new file mode 100644 index 00000000..baacb5c4 --- /dev/null +++ b/spec/ohai/plugins/freebsd/kernel_spec.rb @@ -0,0 +1,37 @@ +# +# Author:: Adam Jacob () +# Copyright:: Copyright (c) 2008 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +require File.join(File.dirname(__FILE__), '..', '..', '..', '/spec_helper.rb') + +describe Ohai::System, "FreeBSD kernel plugin" do + before(:each) do + @ohai = Ohai::System.new + @ohai.stub!(:require_plugin).and_return(true) + @ohai.stub!(:from).with("uname -i").and_return("foo") + @ohai.stub!(:from_with_regex).with("sysctl kern.securlevel").and_return("kern.securelevel: 1") + @ohai[:kernel] = Mash.new + @ohai[:kernel][:name] = "freebsd" + end + + it "should set the kernel_os to the kernel_name value" do + @ohai._require_plugin("freebsd::kernel") + @ohai[:kernel][:os].should == @ohai[:kernel][:name] + end + +end -- cgit v1.2.1 From 3afe5493d7f81e295b0ebcf650b741ce1f0fc5fd Mon Sep 17 00:00:00 2001 From: Benjamin Black Date: Wed, 4 Mar 2009 12:56:46 -0800 Subject: [OHAI-66] added filesystem reporting for darwin --- lib/ohai/plugins/darwin/filesystem.rb | 55 +++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 lib/ohai/plugins/darwin/filesystem.rb diff --git a/lib/ohai/plugins/darwin/filesystem.rb b/lib/ohai/plugins/darwin/filesystem.rb new file mode 100644 index 00000000..55aaa511 --- /dev/null +++ b/lib/ohai/plugins/darwin/filesystem.rb @@ -0,0 +1,55 @@ +# +# Author:: Benjamin Black () +# Copyright:: Copyright (c) 2009 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +fs = Mash.new + +block_size = 0 +popen4("df") do |pid, stdin, stdout, stderr| + stdin.close + stdout.each do |line| + case line + when /^Filesystem\s+(\d+)-/ + block_size = $1.to_i + next + when /^(.+?)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+\%)\s+(.+)$/ + filesystem = $1 + fs[filesystem] = Mash.new + fs[filesystem][:block_size] = block_size + fs[filesystem][:kb_size] = $2.to_i / (1024 / block_size) + fs[filesystem][:kb_used] = $3.to_i / (1024 / block_size) + fs[filesystem][:kb_available] = $4.to_i / (1024 / block_size) + fs[filesystem][:percent_used] = $5 + fs[filesystem][:mount] = $6 + end + end +end + +popen4("mount") do |pid, stdin, stdout, stderr| + stdin.close + stdout.each do |line| + if line =~ /^(.+?) on (.+?) \((.+?), (.+?)\)$/ + filesystem = $1 + fs[filesystem] = Mash.new unless fs.has_key?(filesystem) + fs[filesystem]['mount'] = $2 + fs[filesystem]['fs_type'] = $3 + fs[filesystem]['mount-options'] = $4.split(/,\s*/) + end + end +end + +filesystem fs \ No newline at end of file -- cgit v1.2.1 From 386ba20c4da4b62bdbdb31e3cae5ee021fc69872 Mon Sep 17 00:00:00 2001 From: Benjamin Black Date: Wed, 4 Mar 2009 13:05:17 -0800 Subject: [OHAI-66] changed all filesystem mash keys to symbols (all platforms) --- lib/ohai/plugins/darwin/filesystem.rb | 6 +++--- lib/ohai/plugins/freebsd/filesystem.rb | 16 ++++++++-------- lib/ohai/plugins/linux/filesystem.rb | 20 ++++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/ohai/plugins/darwin/filesystem.rb b/lib/ohai/plugins/darwin/filesystem.rb index 55aaa511..6eae138a 100644 --- a/lib/ohai/plugins/darwin/filesystem.rb +++ b/lib/ohai/plugins/darwin/filesystem.rb @@ -45,9 +45,9 @@ popen4("mount") do |pid, stdin, stdout, stderr| if line =~ /^(.+?) on (.+?) \((.+?), (.+?)\)$/ filesystem = $1 fs[filesystem] = Mash.new unless fs.has_key?(filesystem) - fs[filesystem]['mount'] = $2 - fs[filesystem]['fs_type'] = $3 - fs[filesystem]['mount-options'] = $4.split(/,\s*/) + fs[filesystem][:mount] = $2 + fs[filesystem][:fs_type] = $3 + fs[filesystem][:mount_options] = $4.split(/,\s*/) end end end diff --git a/lib/ohai/plugins/freebsd/filesystem.rb b/lib/ohai/plugins/freebsd/filesystem.rb index 32419757..4207efd1 100644 --- a/lib/ohai/plugins/freebsd/filesystem.rb +++ b/lib/ohai/plugins/freebsd/filesystem.rb @@ -28,11 +28,11 @@ popen4("df") do |pid, stdin, stdout, stderr| when /^(.+?)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+\%)\s+(.+)$/ filesystem = $1 fs[filesystem] = Mash.new - fs[filesystem]['kb_size'] = $2 - fs[filesystem]['kb_used'] = $3 - fs[filesystem]['kb_available'] = $4 - fs[filesystem]['percent_used'] = $5 - fs[filesystem]['mount'] = $6 + fs[filesystem][:kb_size] = $2 + fs[filesystem][:kb_used] = $3 + fs[filesystem][:kb_available] = $4 + fs[filesystem][:percent_used] = $5 + fs[filesystem][:mount] = $6 end end end @@ -44,9 +44,9 @@ popen4("mount -l") do |pid, stdin, stdout, stderr| if line =~ /^(.+?) on (.+?) \((.+?), (.+?)\)$/ filesystem = $1 fs[filesystem] = Mash.new unless fs.has_key?(filesystem) - fs[filesystem]['mount'] = $2 - fs[filesystem]['fs_type'] = $3 - fs[filesystem]['mount-options'] = $4.split(/,\s*/) + fs[filesystem][:mount] = $2 + fs[filesystem][:fs_type] = $3 + fs[filesystem][:mount_options] = $4.split(/,\s*/) end end end diff --git a/lib/ohai/plugins/linux/filesystem.rb b/lib/ohai/plugins/linux/filesystem.rb index b5418251..1fd5a152 100644 --- a/lib/ohai/plugins/linux/filesystem.rb +++ b/lib/ohai/plugins/linux/filesystem.rb @@ -19,7 +19,7 @@ fs = Mash.new # Grab filesystem data from df -popen4("/bin/df -P") do |pid, stdin, stdout, stderr| +popen4("df -P") do |pid, stdin, stdout, stderr| stdin.close stdout.each do |line| case line @@ -28,25 +28,25 @@ popen4("/bin/df -P") do |pid, stdin, stdout, stderr| when /^(.+?)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+\%)\s+(.+)$/ filesystem = $1 fs[filesystem] = Mash.new - fs[filesystem]['kb_size'] = $2 - fs[filesystem]['kb_used'] = $3 - fs[filesystem]['kb_available'] = $4 - fs[filesystem]['percent_used'] = $5 - fs[filesystem]['mount'] = $6 + fs[filesystem][:kb_size] = $2 + fs[filesystem][:kb_used] = $3 + fs[filesystem][:kb_available] = $4 + fs[filesystem][:percent_used] = $5 + fs[filesystem][:mount] = $6 end end end # Grab mount information from /bin/mount -popen4("/bin/mount -l") do |pid, stdin, stdout, stderr| +popen4("mount -l") do |pid, stdin, stdout, stderr| stdin.close stdout.each do |line| if line =~ /^(.+?) on (.+?) type (.+?) \((.+?)\)$/ filesystem = $1 fs[filesystem] = Mash.new unless fs.has_key?(filesystem) - fs[filesystem]['mount'] = $2 - fs[filesystem]['fs_type'] = $3 - fs[filesystem]['mount-options'] = $4.split(",") + fs[filesystem][:mount] = $2 + fs[filesystem][:fs_type] = $3 + fs[filesystem][:mount_options] = $4.split(",") end end end -- cgit v1.2.1 From a1d3dbef5b99b7a1ad84f59533d9933e20984f9f Mon Sep 17 00:00:00 2001 From: Adam Jacob Date: Thu, 5 Mar 2009 23:07:11 -0800 Subject: Fixing crash if python is missing --- lib/ohai/plugins/python.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/ohai/plugins/python.rb b/lib/ohai/plugins/python.rb index 1060cea6..c2e63745 100644 --- a/lib/ohai/plugins/python.rb +++ b/lib/ohai/plugins/python.rb @@ -22,9 +22,12 @@ output = nil python = Mash.new status = popen4("python -c \"import sys; print sys.version\"") do |pid, stdin, stdout, stderr| stdin.close - output = stdout.gets.split if stdout - python[:version] = output[0] - python[:builddate] = "%s %s %s %s" % [output[2],output[3],output[4],output[5].gsub!(/\)/,'')] + output_string = stdout.gets + if output_string + output = output_string.split + python[:version] = output[0] + python[:builddate] = "%s %s %s %s" % [output[2],output[3],output[4],output[5].gsub!(/\)/,'')] + end end if status == 0 -- cgit v1.2.1 From 936f9fe1ba15eebe251201524f8013c2cf85e3db Mon Sep 17 00:00:00 2001 From: Adam Jacob Date: Thu, 5 Mar 2009 23:15:39 -0800 Subject: Updating Changelog, bumping version to 0.2.0 for release --- CHANGELOG | 29 +++++++++++++++++++++++++++++ Rakefile | 2 +- lib/ohai.rb | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2116154c..cee734e1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,32 @@ +Thu Mar 5 23:15:03 PST 2009 +Release Notes - Ohai - Version 0.2.0 +http://tickets.opscode.com + +** Bug + * [OHAI-40] - virt and lsb spec's lack use of should/should_not + * [OHAI-44] - darwin network.rb should always use -n on relevant commands + * [OHAI-45] - vmnet interfaces confuse counter collection on darwin + * [OHAI-46] - lo0 counters not collected on darwin + * [OHAI-47] - virtualization plugin doesn't correctly detect VMware or VirtualPC platforms + * [OHAI-51] - If hostname -f exits with 1, ohai linux hostname plugin vomits + * [OHAI-54] - Use IO.read rather than cat + * [OHAI-61] - several items in lib/ohai/plugins/freebsd/network.rb have not been converted to Mash + * [OHAI-62] - ohai throws stack when python is not in path + * [OHAI-63] - ohai does not properly detect 64-bit on darwin + * [OHAI-64] - ohai/plugins/freebsd/kernel.rb does not set kernel[:os] + +** Improvement + * [OHAI-49] - network interface addresses should be stored in a hash not an array + * [OHAI-50] - python language plugin + * [OHAI-58] - Plugin specifications for FreeBSD + +** New Feature + * [OHAI-36] - Add libvirt-sourced data to ohai + * [OHAI-57] - ohai needs a --debug option to show errors during collection + +** Task + * [OHAI-55] - Need to grab 'user-data' as well as 'meta-data' for EC2 + Sat Jan 31 19:05:49 PST 2009 Release Notes - Ohai - Version 0.1.4 http://tickets.opscode.com diff --git a/Rakefile b/Rakefile index 438005fd..3238c92d 100644 --- a/Rakefile +++ b/Rakefile @@ -5,7 +5,7 @@ require 'date' require 'spec/rake/spectask' GEM = "ohai" -GEM_VERSION = "0.1.5" +GEM_VERSION = "0.2.0" AUTHOR = "Adam Jacob" EMAIL = "adam@opscode.com" HOMEPAGE = "http://wiki.opscode.com/display/ohai" diff --git a/lib/ohai.rb b/lib/ohai.rb index 10417009..5c173283 100644 --- a/lib/ohai.rb +++ b/lib/ohai.rb @@ -23,5 +23,5 @@ require 'ohai/config' require 'ohai/system' module Ohai - VERSION = '0.1.5' + VERSION = '0.2.0' end -- cgit v1.2.1 From 00b4c5f7d302d0cf8cea81b3d4b5fafeef261ce3 Mon Sep 17 00:00:00 2001 From: Adam Jacob Date: Fri, 6 Mar 2009 00:02:15 -0800 Subject: Bumping revision to 0.2.1 --- Rakefile | 2 +- lib/ohai.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index 3238c92d..a45efb32 100644 --- a/Rakefile +++ b/Rakefile @@ -5,7 +5,7 @@ require 'date' require 'spec/rake/spectask' GEM = "ohai" -GEM_VERSION = "0.2.0" +GEM_VERSION = "0.2.1" AUTHOR = "Adam Jacob" EMAIL = "adam@opscode.com" HOMEPAGE = "http://wiki.opscode.com/display/ohai" diff --git a/lib/ohai.rb b/lib/ohai.rb index 5c173283..d62491b4 100644 --- a/lib/ohai.rb +++ b/lib/ohai.rb @@ -23,5 +23,5 @@ require 'ohai/config' require 'ohai/system' module Ohai - VERSION = '0.2.0' + VERSION = '0.2.1' end -- cgit v1.2.1