diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ohai/mixin/network_constants.rb | 5 | ||||
-rw-r--r-- | lib/ohai/plugins/hostname.rb | 17 | ||||
-rw-r--r-- | lib/ohai/plugins/network_listeners.rb | 60 | ||||
-rw-r--r-- | lib/ohai/plugins/sigar/cpu.rb | 44 | ||||
-rw-r--r-- | lib/ohai/plugins/sigar/filesystem.rb | 50 | ||||
-rw-r--r-- | lib/ohai/plugins/sigar/memory.rb | 39 | ||||
-rw-r--r-- | lib/ohai/plugins/sigar/network.rb | 168 | ||||
-rw-r--r-- | lib/ohai/plugins/sigar/network_route.rb | 64 | ||||
-rw-r--r-- | lib/ohai/plugins/sigar/platform.rb | 30 | ||||
-rw-r--r-- | lib/ohai/plugins/uptime.rb | 9 |
10 files changed, 1 insertions, 485 deletions
diff --git a/lib/ohai/mixin/network_constants.rb b/lib/ohai/mixin/network_constants.rb index ed53bb8b..d740df95 100644 --- a/lib/ohai/mixin/network_constants.rb +++ b/lib/ohai/mixin/network_constants.rb @@ -24,11 +24,6 @@ module Ohai "inet" => "default", "inet6" => "default_inet6", } - - # From sigar: include/sigar.h sigar_net_route_t - SIGAR_ROUTE_METHODS = [:destination, :gateway, :mask, :flags, - :refcnt, :use, :metric, :mtu, :window, - :irtt, :ifname] end end end diff --git a/lib/ohai/plugins/hostname.rb b/lib/ohai/plugins/hostname.rb index 32d95fb3..29df8813 100644 --- a/lib/ohai/plugins/hostname.rb +++ b/lib/ohai/plugins/hostname.rb @@ -76,24 +76,9 @@ Ohai.plugin(:Hostname) do end end - def get_fqdn_from_sigar - require "sigar" - sigar = Sigar.new - sigar.fqdn - end - - def sigar_is_available? - begin - require "sigar" - true - rescue LoadError - false - end - end - collect_data(:hpux, :default) do machinename from_cmd("hostname") - fqdn sigar_is_available? ? get_fqdn_from_sigar : resolve_fqdn + fqdn resolve_fqdn collect_hostname collect_domain end diff --git a/lib/ohai/plugins/network_listeners.rb b/lib/ohai/plugins/network_listeners.rb deleted file mode 100644 index 292378d7..00000000 --- a/lib/ohai/plugins/network_listeners.rb +++ /dev/null @@ -1,60 +0,0 @@ -# -# Author:: Doug MacEachern <dougm@vmware.com> -# Copyright:: Copyright (c) 2009 VMware, 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. -# - -Ohai.plugin(:NetworkListeners) do - provides "network/listeners" - - depends "network", "counters/network" - - collect_data do - begin - require "sigar" - flags = Sigar::NETCONN_TCP | Sigar::NETCONN_SERVER - - network Mash.new unless network - listeners = Mash.new - - sigar = Sigar.new - sigar.net_connection_list(flags).each do |conn| - port = conn.local_port - addr = conn.local_address.to_s - if addr == "0.0.0.0" || addr == "::" - addr = "*" - end - listeners[port] = Mash.new - listeners[port][:address] = addr - begin - pid = sigar.proc_port(conn.type, port) - # workaround for a failure of proc_state to throw - # after the first 0 has been supplied to it - # - # no longer required when hyperic/sigar#48 is fixed - throw ArgumentError.new("No such process") if pid == 0 - listeners[port][:pid] = pid - listeners[port][:name] = sigar.proc_state(pid).name - rescue - end - end - - network[:listeners] = Mash.new - network[:listeners][:tcp] = listeners - rescue LoadError - Ohai::Log.debug("Could not load sigar gem. Skipping NetworkListeners plugin") - end - end -end diff --git a/lib/ohai/plugins/sigar/cpu.rb b/lib/ohai/plugins/sigar/cpu.rb deleted file mode 100644 index 54f8387c..00000000 --- a/lib/ohai/plugins/sigar/cpu.rb +++ /dev/null @@ -1,44 +0,0 @@ -# -# Author:: Doug MacEachern <dougm@vmware.com> -# Copyright:: Copyright (c) 2010 VMware, 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. -# - -Ohai.plugin(:CPU) do - provides "cpu" - - collect_data(:hpux, :default) do - require "sigar" - - sigar = Sigar.new - - cpuinfo = Mash.new - ix = 0 - - sigar.cpu_info_list.each do |info| - current_cpu = ix.to_s - ix += 1 - cpuinfo[current_cpu] = Mash.new - cpuinfo[current_cpu]["vendor_id"] = info.vendor - cpuinfo[current_cpu]["model"] = info.model - cpuinfo[current_cpu]["mhz"] = info.mhz.to_s - cpuinfo[current_cpu]["cache_size"] = info.cache_size.to_s - cpuinfo[:total] = info.total_cores - cpuinfo[:real] = info.total_sockets - end - - cpu cpuinfo - end -end diff --git a/lib/ohai/plugins/sigar/filesystem.rb b/lib/ohai/plugins/sigar/filesystem.rb deleted file mode 100644 index 234fc16f..00000000 --- a/lib/ohai/plugins/sigar/filesystem.rb +++ /dev/null @@ -1,50 +0,0 @@ -# -# Author:: Doug MacEachern <dougm@vmware.com> -# Copyright:: Copyright (c) 2010 VMware, 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. -# - -Ohai.plugin(:Filesystem) do - provides "filesystem" - - collect_data(:hpux, :default) do - require "sigar" - sigar = Sigar.new - - fs = Mash.new - - sigar.file_system_list.each do |fsys| - filesystem = fsys.dev_name - fs[filesystem] = Mash.new - fs[filesystem][:mount] = fsys.dir_name - fs[filesystem][:fs_type] = fsys.sys_type_name - fs[filesystem][:mount_options] = fsys.options - begin - usage = sigar.file_system_usage(fsys.dir_name) - fs[filesystem][:kb_size] = (usage.total / 1024).to_s - fs[filesystem][:kb_used] = ((usage.total - usage.free) / 1024).to_s - fs[filesystem][:kb_available] = (usage.free / 1024).to_s - fs[filesystem][:percent_used] = (usage.use_percent * 100).to_s + "%" - rescue SystemExit => e - raise - rescue Exception => e - #e.g. floppy or cdrom drive - end - end - - # Set the filesystem data - filesystem fs - end -end diff --git a/lib/ohai/plugins/sigar/memory.rb b/lib/ohai/plugins/sigar/memory.rb deleted file mode 100644 index 78f55199..00000000 --- a/lib/ohai/plugins/sigar/memory.rb +++ /dev/null @@ -1,39 +0,0 @@ -# -# Author:: Doug MacEachern <dougm@vmware.com> -# Copyright:: Copyright (c) 2010 VMware, 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. -# - -Ohai.plugin(:Memory) do - provides "memory" - - collect_data(:hpux, :default) do - require "sigar" - sigar = Sigar.new - - memory Mash.new - memory[:swap] = Mash.new - - mem = sigar.mem - swap = sigar.swap - - memory[:total] = (mem.total / 1024).to_s + "kB" - memory[:free] = (mem.free / 1024).to_s + "kB" - memory[:used] = (mem.used / 1024).to_s + "kB" - memory[:swap][:total] = (swap.total / 1024).to_s + "kB" - memory[:swap][:free] = (swap.free / 1024).to_s + "kB" - memory[:swap][:used] = (swap.used / 1024).to_s + "kB" - end -end diff --git a/lib/ohai/plugins/sigar/network.rb b/lib/ohai/plugins/sigar/network.rb deleted file mode 100644 index 68ce3add..00000000 --- a/lib/ohai/plugins/sigar/network.rb +++ /dev/null @@ -1,168 +0,0 @@ -# -# Author:: Matthew Kent (<mkent@magoazul.com>) -# Copyright:: Copyright (c) 2009 Matthew Kent -# 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 "ohai/mixin/network_constants" - -Ohai.plugin(:Network) do - include Ohai::Mixin::NetworkConstants - - provides "network", "network/interfaces" - provides "counters/network", "counters/network/interfaces" - - def sigar_encaps_lookup(encap) - return "Loopback" if encap.eql?("Local Loopback") - return "PPP" if encap.eql?("Point-to-Point Protocol") - return "SLIP" if encap.eql?("Serial Line IP") - return "VJSLIP" if encap.eql?("VJ Serial Line IP") - return "IPIP" if encap.eql?("IPIP Tunnel") - return "6to4" if encap.eql?("IPv6-in-IPv4") - encap - end - - def fetch_interfaces(sigar) - iface = Mash.new - net_counters = Mash.new - - sigar.net_interface_list.each do |cint| - iface[cint] = Mash.new - - if cint =~ /^(\w+)(\d+.*)/ - iface[cint][:type] = $1 - iface[cint][:number] = $2 - end - - ifconfig = sigar.net_interface_config(cint) - iface[cint][:encapsulation] = sigar_encaps_lookup(ifconfig.type) - - iface[cint][:addresses] = Mash.new - # Backwards compat: loopback has no hwaddr - if (ifconfig.flags & Sigar::IFF_LOOPBACK) == 0 - iface[cint][:addresses][ifconfig.hwaddr] = { "family" => "lladdr" } - end - if ifconfig.address != "0.0.0.0" - iface[cint][:addresses][ifconfig.address] = { "family" => "inet" } - # Backwards compat: no broadcast on tunnel or loopback dev - if ((ifconfig.flags & Sigar::IFF_POINTOPOINT) == 0) && - ((ifconfig.flags & Sigar::IFF_LOOPBACK) == 0) - iface[cint][:addresses][ifconfig.address]["broadcast"] = ifconfig.broadcast - end - iface[cint][:addresses][ifconfig.address]["netmask"] = ifconfig.netmask - end - - if ifconfig.prefix6_length != 0 - iface[cint][:addresses][ifconfig.address6] = { "family" => "inet6" } - iface[cint][:addresses][ifconfig.address6]["prefixlen"] = ifconfig.prefix6_length.to_s - iface[cint][:addresses][ifconfig.address6]["scope"] = Sigar.net_scope_to_s(ifconfig.scope6) - end - - iface[cint][:flags] = Sigar.net_interface_flags_to_s(ifconfig.flags).split(" ") - iface[cint][:mtu] = ifconfig.mtu.to_s - iface[cint][:queuelen] = ifconfig.tx_queue_len.to_s - - net_counters[cint] = Mash.new unless net_counters[cint] - if !cint.include?(":") - ifstat = sigar.net_interface_stat(cint) - net_counters[cint][:rx] = { "packets" => ifstat.rx_packets.to_s, "errors" => ifstat.rx_errors.to_s, - "drop" => ifstat.rx_dropped.to_s, "overrun" => ifstat.rx_overruns.to_s, - "frame" => ifstat.rx_frame.to_s, "bytes" => ifstat.rx_bytes.to_s } - net_counters[cint][:tx] = { "packets" => ifstat.tx_packets.to_s, "errors" => ifstat.tx_errors.to_s, - "drop" => ifstat.tx_dropped.to_s, "overrun" => ifstat.tx_overruns.to_s, - "carrier" => ifstat.tx_carrier.to_s, "collisions" => ifstat.tx_collisions.to_s, - "bytes" => ifstat.tx_bytes.to_s } - end - end - - begin - sigar.arp_list.each do |arp| - next unless iface[arp.ifname] # this should never happen - iface[arp.ifname][:arp] = Mash.new unless iface[arp.ifname][:arp] - iface[arp.ifname][:arp][arp.address] = arp.hwaddr - end - rescue - #64-bit AIX for example requires 64-bit caller - end - - [iface, net_counters] - end - - # sigar-only, from network_route plugin - def flags(flags) - f = "" - if (flags & Sigar::RTF_UP) != 0 - f += "U" - end - if (flags & Sigar::RTF_GATEWAY) != 0 - f += "G" - end - if (flags & Sigar::RTF_HOST) != 0 - f += "H" - end - f - end - - collect_data(:hpux) do - require "sigar" - sigar = Sigar.new - - network Mash.new unless network - network[:interfaces] = Mash.new unless network[:interfaces] - counters Mash.new unless counters - counters[:network] = Mash.new unless counters[:network] - - ninfo = sigar.net_info - network[:default_interface] = ninfo.default_gateway_interface - network[:default_gateway] = ninfo.default_gateway - - iface, net_counters = fetch_interfaces(sigar) - counters[:network][:interfaces] = net_counters - network["interfaces"] = iface - end - - collect_data(:default) do - require "sigar" - sigar = Sigar.new - - network Mash.new unless network - network[:interfaces] = Mash.new unless network[:interfaces] - counters Mash.new unless counters - counters[:network] = Mash.new unless counters[:network] - - ninfo = sigar.net_info - network[:default_interface] = ninfo.default_gateway_interface - network[:default_gateway] = ninfo.default_gateway - - iface, net_counters = fetch_interfaces(sigar) - counters[:network][:interfaces] = net_counters - network[:interfaces] = iface - - sigar.net_route_list.each do |route| - next unless network[:interfaces][route.ifname] # this - # should never happen - network[:interfaces][route.ifname][:route] = Mash.new unless network[:interfaces][route.ifname][:route] - route_data = {} - Ohai::Mixin::NetworkConstants::SIGAR_ROUTE_METHODS.each do |m| - if m == :flags - route_data[m] = flags(route.send(m)) - else - route_data[m] = route.send(m) - end - end - network[:interfaces][route.ifname][:route][route.destination] = route_data - end - end -end diff --git a/lib/ohai/plugins/sigar/network_route.rb b/lib/ohai/plugins/sigar/network_route.rb deleted file mode 100644 index d41c1524..00000000 --- a/lib/ohai/plugins/sigar/network_route.rb +++ /dev/null @@ -1,64 +0,0 @@ -# -# Author:: Toomas Pelberg (<toomas.pelberg@playtech.com>) -# Copyright:: Copyright (c) 2011-2016 Chef Software, 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 "ohai/mixin/network_constants" - -Ohai.plugin(:NetworkRoutes) do - begin - require "sigar" - - include Ohai::Mixin::NetworkConstants - - provides "network/interfaces/adapters/route" - depends "network/interfaces" - - def flags(flags) - f = "" - if (flags & Sigar::RTF_UP) != 0 - f += "U" - end - if (flags & Sigar::RTF_GATEWAY) != 0 - f += "G" - end - if (flags & Sigar::RTF_HOST) != 0 - f += "H" - end - f - end - - collect_data(:default) do - sigar = Sigar.new - - sigar.net_route_list.each do |route| - next unless network[:interfaces][route.ifname] # this should never happen - network[:interfaces][route.ifname][:route] = Mash.new unless network[:interfaces][route.ifname][:route] - route_data = {} - Ohai::Mixin::NetworkConstants::SIGAR_ROUTE_METHODS.each do |m| - if m == :flags - route_data[m] = flags(route.send(m)) - else - route_data[m] = route.send(m) - end - end - network[:interfaces][route.ifname][:route][route.destination] = route_data - end - end - rescue LoadError - Ohai::Log.debug("Could not load sigar gem. Skipping NetworkRoutes plugin") - end -end diff --git a/lib/ohai/plugins/sigar/platform.rb b/lib/ohai/plugins/sigar/platform.rb deleted file mode 100644 index 454851da..00000000 --- a/lib/ohai/plugins/sigar/platform.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# Author:: Doug MacEachern <dougm@vmware.com> -# Copyright:: Copyright (c) 2010 VMware, 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. -# - -Ohai.plugin(:Platform) do - provides "platform", "platform_version", "platform_family" - - collect_data(:hpux) do - require "sigar" - sys = Sigar.new.sys_info - - platform sys.name.downcase - platform_version sys.version - platform_family platform - end -end diff --git a/lib/ohai/plugins/uptime.rb b/lib/ohai/plugins/uptime.rb index e5866fa3..bc7d412c 100644 --- a/lib/ohai/plugins/uptime.rb +++ b/lib/ohai/plugins/uptime.rb @@ -43,15 +43,6 @@ Ohai.plugin(:Uptime) do return [nil, nil] end - collect_data(:hpux, :default) do - require "sigar" - - sigar = Sigar.new - uptime = sigar.uptime.uptime - uptime_seconds uptime.to_i * 1000 - uptime seconds_to_human(uptime.to_i) - end - collect_data(:darwin) do data = collect_uptime("/usr/sbin/sysctl") uptime_seconds data.first |