diff options
author | Adam Jacob <adam@hjksolutions.com> | 2009-03-06 00:48:16 -0800 |
---|---|---|
committer | Adam Jacob <adam@hjksolutions.com> | 2009-03-06 00:48:16 -0800 |
commit | b6f3827d52444c4730d515ee6e8ca1755c16b5f2 (patch) | |
tree | 01317d568f6a87586a6a834472cbb46860b012b5 | |
parent | d39e61acf9f9a0132d50dd51ec762ec7e5316065 (diff) | |
parent | 00b4c5f7d302d0cf8cea81b3d4b5fafeef261ce3 (diff) | |
download | ohai-windows.tar.gz |
Merge branch 'master' into jgartrel/masterwindows
Conflicts:
lib/ohai/plugins/python.rb
-rw-r--r-- | CHANGELOG | 29 | ||||
-rw-r--r-- | Rakefile | 2 | ||||
-rw-r--r-- | lib/ohai.rb | 2 | ||||
-rw-r--r-- | lib/ohai/plugins/darwin/filesystem.rb | 55 | ||||
-rw-r--r-- | lib/ohai/plugins/freebsd/filesystem.rb | 16 | ||||
-rw-r--r-- | lib/ohai/plugins/linux/filesystem.rb | 20 | ||||
-rw-r--r-- | spec/ohai/plugins/freebsd/hostname_spec.rb | 34 | ||||
-rw-r--r-- | spec/ohai/plugins/freebsd/kernel_spec.rb | 37 | ||||
-rw-r--r-- | spec/ohai/plugins/freebsd/platform_spec.rb | 40 |
9 files changed, 215 insertions, 20 deletions
@@ -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 @@ -5,7 +5,7 @@ require 'date' require 'spec/rake/spectask' GEM = "ohai" -GEM_VERSION = "0.1.5" +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 10417009..d62491b4 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.1' end diff --git a/lib/ohai/plugins/darwin/filesystem.rb b/lib/ohai/plugins/darwin/filesystem.rb new file mode 100644 index 00000000..6eae138a --- /dev/null +++ b/lib/ohai/plugins/darwin/filesystem.rb @@ -0,0 +1,55 @@ +# +# Author:: Benjamin Black (<bb@opscode.com>) +# 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 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 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 (<adam@opscode.com>) +# 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 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 (<adam@opscode.com>) +# 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 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 (<adam@opscode.com>) +# 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 |