ohai 15.1.5 → 15.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/lib/ohai/common/dmi.rb +3 -0
  4. data/lib/ohai/dsl/plugin.rb +3 -0
  5. data/lib/ohai/dsl/plugin/versionvii.rb +4 -2
  6. data/lib/ohai/hints.rb +3 -1
  7. data/lib/ohai/loader.rb +7 -4
  8. data/lib/ohai/mash.rb +1 -1
  9. data/lib/ohai/mixin/constant_helper.rb +1 -0
  10. data/lib/ohai/mixin/ec2_metadata.rb +4 -3
  11. data/lib/ohai/mixin/gce_metadata.rb +2 -3
  12. data/lib/ohai/plugins/aix/kernel.rb +1 -1
  13. data/lib/ohai/plugins/aix/network.rb +3 -3
  14. data/lib/ohai/plugins/aix/virtualization.rb +4 -0
  15. data/lib/ohai/plugins/azure.rb +1 -0
  16. data/lib/ohai/plugins/cloud.rb +7 -4
  17. data/lib/ohai/plugins/cpu.rb +6 -6
  18. data/lib/ohai/plugins/darwin/network.rb +9 -4
  19. data/lib/ohai/plugins/digital_ocean.rb +2 -0
  20. data/lib/ohai/plugins/dmi.rb +1 -0
  21. data/lib/ohai/plugins/dragonflybsd/memory.rb +1 -1
  22. data/lib/ohai/plugins/dragonflybsd/network.rb +1 -0
  23. data/lib/ohai/plugins/ec2.rb +1 -0
  24. data/lib/ohai/plugins/eucalyptus.rb +1 -0
  25. data/lib/ohai/plugins/filesystem.rb +12 -2
  26. data/lib/ohai/plugins/freebsd/memory.rb +1 -1
  27. data/lib/ohai/plugins/freebsd/network.rb +1 -0
  28. data/lib/ohai/plugins/haskell.rb +4 -4
  29. data/lib/ohai/plugins/hostname.rb +2 -1
  30. data/lib/ohai/plugins/java.rb +1 -0
  31. data/lib/ohai/plugins/kernel.rb +10 -5
  32. data/lib/ohai/plugins/linode.rb +1 -1
  33. data/lib/ohai/plugins/linux/lspci.rb +3 -2
  34. data/lib/ohai/plugins/linux/network.rb +18 -7
  35. data/lib/ohai/plugins/linux/platform.rb +4 -8
  36. data/lib/ohai/plugins/netbsd/memory.rb +1 -1
  37. data/lib/ohai/plugins/netbsd/network.rb +1 -0
  38. data/lib/ohai/plugins/network.rb +2 -0
  39. data/lib/ohai/plugins/openbsd/memory.rb +1 -1
  40. data/lib/ohai/plugins/openbsd/network.rb +1 -0
  41. data/lib/ohai/plugins/openstack.rb +8 -14
  42. data/lib/ohai/plugins/packages.rb +29 -1
  43. data/lib/ohai/plugins/rackspace.rb +1 -0
  44. data/lib/ohai/plugins/scaleway.rb +1 -0
  45. data/lib/ohai/plugins/shard.rb +1 -1
  46. data/lib/ohai/plugins/solaris2/network.rb +3 -1
  47. data/lib/ohai/plugins/virtualbox.rb +5 -3
  48. data/lib/ohai/plugins/windows/network.rb +6 -0
  49. data/lib/ohai/provides_map.rb +26 -3
  50. data/lib/ohai/runner.rb +18 -5
  51. data/lib/ohai/system.rb +8 -0
  52. data/lib/ohai/util/win32.rb +4 -4
  53. data/lib/ohai/version.rb +1 -1
  54. data/spec/data/plugins/rpmquery.output +2 -0
  55. data/spec/functional/application_spec.rb +1 -1
  56. data/spec/functional/loader_spec.rb +1 -1
  57. data/spec/unit/dsl/plugin_spec.rb +15 -15
  58. data/spec/unit/plugin_config_spec.rb +3 -3
  59. data/spec/unit/plugins/docker_spec.rb +11 -11
  60. data/spec/unit/plugins/ec2_spec.rb +4 -2
  61. data/spec/unit/plugins/erlang_spec.rb +2 -2
  62. data/spec/unit/plugins/hostname_spec.rb +14 -10
  63. data/spec/unit/plugins/linux/filesystem_spec.rb +1 -0
  64. data/spec/unit/plugins/linux/lspci_spec.rb +2 -1
  65. data/spec/unit/plugins/linux/platform_spec.rb +5 -0
  66. data/spec/unit/plugins/network_spec.rb +3 -2
  67. data/spec/unit/plugins/openstack_spec.rb +31 -30
  68. data/spec/unit/plugins/packages_spec.rb +20 -0
  69. data/spec/unit/plugins/ruby_spec.rb +1 -1
  70. data/spec/unit/plugins/scsi_spec.rb +2 -1
  71. data/spec/unit/plugins/shard_spec.rb +1 -1
  72. data/spec/unit/plugins/windows/filesystem_spec.rb +2 -2
  73. data/spec/unit/plugins/windows/kernel_spec.rb +2 -2
  74. data/spec/unit/runner_spec.rb +2 -2
  75. data/spec/unit/system_spec.rb +3 -3
  76. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9675f206602060c3853fda1b7c6789fa409de0b7991738f1346c80512e42675
4
- data.tar.gz: cc56609a6641a36be3007f194b814d1d82fd1ea3bac5db9f803b28bd8361c396
3
+ metadata.gz: 98f79af3f1e5744de5e63178fcc9acf038c0d8cc7f684064dac8aabc2d34cbad
4
+ data.tar.gz: e3a2b907da4cb97b5218b3d9013688c14cce257ef594f3bc47f43ecc84dc1526
5
5
  SHA512:
6
- metadata.gz: 00b6ad532cd5a3dcf5ee2773ee5721a8c4503c6e4f374bc087ea4f8b70d463a42f2da337e01a1b22f3bfd4cdae30a5f445332301bc3b5de795f8012fd21d83eb
7
- data.tar.gz: f85fbabf6f445e4a4c439475e4d2cabfa72083a232e1fc5a576b3bc66725e27eb737fef35975bef1b039ef10ef33ffcf2a5814e311f323551919601ae0262a1b
6
+ metadata.gz: 9cdc8ca66bdd032d58ddce52f9a99c2a29189b7cdc95aa727ea84cd0b525cb84d8121cd161ab1681a9b0a46309679c46f07a396bfa055847a570cc63edf455ae
7
+ data.tar.gz: 9fa787535d3ae2229647cb4e589f8a3bded19e25d2457b7858290555ff777258de6d8559bcdd1b8ce31767fd77c8d3f2fdac6c78249ea308350c5ff63dda7fe9
data/Rakefile CHANGED
@@ -39,4 +39,4 @@ task :console do
39
39
  IRB.start
40
40
  end
41
41
 
42
- task default: [:style, :spec]
42
+ task default: %i{style spec}
@@ -119,12 +119,14 @@ module Ohai
119
119
  in_common = Mash.new
120
120
  next unless records.class.to_s == "Mash"
121
121
  next unless records.key?("all_records")
122
+
122
123
  records[:all_records].each do |record|
123
124
  record.each do |field, value|
124
125
  next if value.class.to_s == "Mash"
125
126
  next if field.to_s == "application_identifier"
126
127
  next if field.to_s == "size"
127
128
  next if field.to_s == "record_id"
129
+
128
130
  translated = field.downcase.gsub(/[^a-z0-9]/, "_")
129
131
  value = value.strip
130
132
  if in_common.key?(translated)
@@ -136,6 +138,7 @@ module Ohai
136
138
  end
137
139
  in_common.each do |field, value|
138
140
  next if value.nil?
141
+
139
142
  dmi[type][field] = value.strip
140
143
  end
141
144
  end
@@ -145,6 +145,7 @@ module Ohai
145
145
  def from(cmd)
146
146
  _status, stdout, _stderr = run_command(command: cmd)
147
147
  return "" if stdout.nil? || stdout.empty?
148
+
148
149
  stdout.strip
149
150
  end
150
151
 
@@ -155,6 +156,7 @@ module Ohai
155
156
  regex_list.flatten.each do |regex|
156
157
  _status, stdout, _stderr = run_command(command: cmd)
157
158
  return "" if stdout.nil? || stdout.empty?
159
+
158
160
  stdout.chomp!.strip
159
161
  md = stdout.match(regex)
160
162
  return md[1]
@@ -210,6 +212,7 @@ module Ohai
210
212
  unless attrs.nil? || attrs.is_a?(Array) || attrs.is_a?(Hash)
211
213
  raise TypeError.new("Expected Hash but got #{attrs.class}.")
212
214
  end
215
+
213
216
  attrs[key]
214
217
  end
215
218
  rescue NoMethodError
@@ -145,9 +145,11 @@ module Ohai
145
145
 
146
146
  def configuration(option, *options)
147
147
  return nil if plugin_config.nil? || !plugin_config.key?(option)
148
+
148
149
  value = plugin_config[option]
149
150
  options.each do |opt|
150
151
  return nil unless value.key?(opt)
152
+
151
153
  value = value[opt]
152
154
  end
153
155
  value
@@ -169,12 +171,12 @@ module Ohai
169
171
  # ["", "Memory"] => ["Memory"]
170
172
  # ["", "Network", "", "Listeners"] => ["Network", "Listeners"]
171
173
  # ["SSH", "Host", "", "Key"] => ["SSH", "Host", "Key"]
172
- parts.delete_if { |part| part.empty? }
174
+ parts.delete_if(&:empty?)
173
175
  # ["DMI"] => :dmi
174
176
  # ["Memory"] => :memory
175
177
  # ["Network", "Listeners"] => :network_listeners
176
178
  # ["SSH", "Host", "Key"] => :ssh_host_key
177
- snake_case_name = parts.map { |part| part.downcase }.join("_").to_sym
179
+ snake_case_name = parts.map(&:downcase).join("_").to_sym
178
180
 
179
181
  # Plugin names in config hashes are auto-vivified, so we check with
180
182
  # key? to avoid falsely instantiating a configuration hash.
@@ -51,14 +51,16 @@ module Ohai
51
51
  def self.hint?(name)
52
52
  @hints ||= {}
53
53
  return @hints[name] if @hints[name]
54
+
54
55
  Ohai.config[:hints_path].each do |path|
55
56
  filename = File.join(path, "#{name}.json")
56
57
  next unless File.exist?(filename)
58
+
57
59
  Ohai::Log.trace("Found hint #{name}.json at #{filename}")
58
60
  @hints[name] = parse_hint_file(filename)
59
61
  end
60
62
 
61
- Ohai::Log.trace("Did not find hint #{name}.json in the hint path(s): #{Ohai.config[:hints_path].join(', ')} ") unless @hints.key?(name)
63
+ Ohai::Log.trace("Did not find hint #{name}.json in the hint path(s): #{Ohai.config[:hints_path].join(", ")} ") unless @hints.key?(name)
62
64
  @hints[name]
63
65
  end
64
66
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Claire McQuin (<claire@chef.io>)
3
- # Copyright:: Copyright (c) 2013-2016 Chef Software, Inc.
3
+ # Copyright:: Copyright (c) 2013-2019, Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -83,7 +83,8 @@ module Ohai
83
83
  # @param plugin_path [String]
84
84
  def load_plugin(plugin_path)
85
85
  plugin_class = load_plugin_class(plugin_path)
86
- return nil unless plugin_class.kind_of?(Class)
86
+ return nil unless plugin_class.is_a?(Class)
87
+
87
88
  if plugin_class < Ohai::DSL::Plugin::VersionVII
88
89
  load_v7_plugin(plugin_class)
89
90
  else
@@ -137,9 +138,10 @@ module Ohai
137
138
  # @return [Ohai::DSL::Plugin::VersionVII] Ohai plugin object
138
139
  def load_v7_plugin_class(contents, plugin_path)
139
140
  plugin_class = eval(contents, TOPLEVEL_BINDING, plugin_path) # rubocop: disable Security/Eval
140
- unless plugin_class.kind_of?(Class) && plugin_class < Ohai::DSL::Plugin
141
+ unless plugin_class.is_a?(Class) && plugin_class < Ohai::DSL::Plugin
141
142
  raise Ohai::Exceptions::IllegalPluginDefinition, "Plugin file cannot contain any statements after the plugin definition"
142
143
  end
144
+
143
145
  plugin_class.sources << plugin_path
144
146
  @v7_plugin_classes << plugin_class unless @v7_plugin_classes.include?(plugin_class)
145
147
  plugin_class
@@ -159,9 +161,10 @@ module Ohai
159
161
  parts = e.message.split(/<.*>[:[0-9]+]*: syntax error, /)
160
162
  parts.each do |part|
161
163
  next if part.length == 0
164
+
162
165
  logger.warn("Plugin Syntax Error: <#{plugin_path}>: #{part}")
163
166
  end
164
- rescue Exception, Errno::ENOENT => e
167
+ rescue Exception => e
165
168
  logger.warn("Plugin Error: <#{plugin_path}>: #{e.message}")
166
169
  logger.trace("Plugin Error: <#{plugin_path}>: #{e.inspect}, #{e.backtrace.join('\n')}")
167
170
  end
@@ -179,7 +179,7 @@ class Mash < Hash
179
179
  #
180
180
  # @api private
181
181
  def convert_key(key)
182
- key.kind_of?(Symbol) ? key.to_s : key
182
+ key.is_a?(Symbol) ? key.to_s : key
183
183
  end
184
184
 
185
185
  # @param value [Object] The value to convert.
@@ -34,6 +34,7 @@ module Ohai
34
34
  if object.respond_to?(:constants)
35
35
  object.constants.each do |const|
36
36
  next unless strict_const_defined?(object, const)
37
+
37
38
  recursive_remove_constants(object.const_get(const))
38
39
  object.send(:remove_const, const)
39
40
  end
@@ -68,6 +68,7 @@ module Ohai
68
68
  if versions.empty?
69
69
  raise "Mixin EC2: Unable to determine EC2 metadata version (no supported entries found)"
70
70
  end
71
+
71
72
  versions.last
72
73
  end
73
74
  end
@@ -134,7 +135,7 @@ module Ohai
134
135
  end
135
136
 
136
137
  def fetch_dir_metadata(id, api_version)
137
- metadata = Hash.new
138
+ metadata = {}
138
139
  retrieved_metadata = metadata_get(id, api_version)
139
140
  if retrieved_metadata
140
141
  retrieved_metadata.split("\n").each do |o|
@@ -195,11 +196,11 @@ module Ohai
195
196
  # ignore "./" and "../"
196
197
  path.gsub(%r{/\.\.?(?:/|$)}, "/")
197
198
  .sub(%r{^\.\.?(?:/|$)}, "")
198
- .sub(%r{^$}, "/")
199
+ .sub(/^$/, "/")
199
200
  end
200
201
 
201
202
  def metadata_key(key)
202
- key.gsub(/\-|\//, "_")
203
+ key.gsub(%r{\-|/}, "_")
203
204
  end
204
205
 
205
206
  end
@@ -31,8 +31,7 @@ module Ohai
31
31
  conn.get(uri, {
32
32
  "Metadata-Flavor" => "Google",
33
33
  "User-Agent" => "chef-ohai/#{Ohai::VERSION}",
34
- }
35
- )
34
+ })
36
35
  end
37
36
 
38
37
  def fetch_metadata(id = "")
@@ -76,7 +75,7 @@ module Ohai
76
75
  end
77
76
 
78
77
  def sanitize_key(key)
79
- key.gsub(/\-|\//, "_")
78
+ key.gsub(%r{\-|/}, "_")
80
79
  end
81
80
  end
82
81
  end
@@ -37,7 +37,7 @@ Ohai.plugin(:Kernel) do
37
37
  # 6390000 20000 63a0000 ba8 /usr/lib/drivers/if_en
38
38
  # f1000000c0318000 20000 f1000000c0320000 17138 /usr/lib/drivers/random
39
39
  so.stdout.lines do |line|
40
- if line =~ /\s*([0-9a-f]+)\s+([0-9a-f]+)\s+([0-9a-f]+)\s+([0-9a-f]+)\s+([a-zA-Z0-9\/\._]+)/
40
+ if line =~ %r{\s*([0-9a-f]+)\s+([0-9a-f]+)\s+([0-9a-f]+)\s+([0-9a-f]+)\s+([a-zA-Z0-9/\._]+)}
41
41
  modules[$5] = { text: { address: $1, size: $2 }, data: { address: $3, size: $4 } }
42
42
  end
43
43
  end
@@ -77,7 +77,7 @@ Ohai.plugin(:Network) do
77
77
  iface[interface][:metric] = $1 if lin =~ /metric\s(\S+)/
78
78
  else
79
79
  # We have key value pairs.
80
- if lin =~ /inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(\/(\d{1,2}))?/
80
+ if lin =~ %r{inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(/(\d{1,2}))?}
81
81
  tmp_addr, tmp_prefix = $1, $3
82
82
  if tmp_prefix.nil?
83
83
  netmask = hex_to_dec_netmask($1) if lin =~ /netmask\s(\S+)\s/
@@ -96,7 +96,7 @@ Ohai.plugin(:Network) do
96
96
  if lin =~ /broadcast\s(\S+)\s/
97
97
  iface[interface][:addresses][tmp_addr][:broadcast] = $1
98
98
  end
99
- elsif lin =~ /inet6 ([a-f0-9\:]+)%?([\d]*)\/?(\d*)?/
99
+ elsif lin =~ %r{inet6 ([a-f0-9\:]+)%?([\d]*)/?(\d*)?}
100
100
  # TODO do we have more properties on inet6 in aix? broadcast
101
101
  iface[interface][:addresses] ||= Mash.new
102
102
  iface[interface][:addresses][$1] = { "family" => "inet6", "zone_index" => $2, "prefixlen" => $3 }
@@ -128,7 +128,7 @@ Ohai.plugin(:Network) do
128
128
  so_n.stdout.lines.each do |line|
129
129
  if line =~ /(\S+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\S+)/
130
130
  interface = $6
131
- iface[interface][:routes] = Array.new unless iface[interface][:routes]
131
+ iface[interface][:routes] = [] unless iface[interface][:routes]
132
132
  iface[interface][:routes] << Mash.new( destination: $1, family: family,
133
133
  via: $2, flags: $3)
134
134
  end
@@ -58,6 +58,7 @@ Ohai.plugin(:Virtualization) do
58
58
  case title
59
59
  when "network"
60
60
  next if line =~ /^Interface|^---/
61
+
61
62
  splat = line.strip.split
62
63
  key = splat[0].downcase
63
64
  value = {
@@ -68,6 +69,7 @@ Ohai.plugin(:Virtualization) do
68
69
  wpars[wpar_name][title][key] = value
69
70
  when "user-specified routes"
70
71
  next if line =~ /^Type|^---/
72
+
71
73
  splat = line.strip.split
72
74
  key = splat[2].downcase
73
75
  value = {
@@ -77,6 +79,7 @@ Ohai.plugin(:Virtualization) do
77
79
  wpars[wpar_name][title][key] = value
78
80
  when "file systems"
79
81
  next if line =~ /^MountPoint|^---/
82
+
80
83
  splat = line.strip.split
81
84
  key = splat[1].downcase
82
85
  value = {
@@ -99,6 +102,7 @@ Ohai.plugin(:Virtualization) do
99
102
  wpars[wpar_name][title]["Privileges"] += privileges.split(",")
100
103
  when "device exports"
101
104
  next if line =~ /^Name|^---/
105
+
102
106
  splat = line.strip.split
103
107
  key = splat[0].downcase
104
108
  value = {
@@ -97,6 +97,7 @@ Ohai.plugin(:Azure) do
97
97
 
98
98
  endpoint_data = fetch_metadata
99
99
  return nil if endpoint_data.nil?
100
+
100
101
  metadata = initialize_metadata_mash_compute
101
102
 
102
103
  # blindly add everything in compute to our data structure
@@ -53,14 +53,15 @@ Ohai.plugin(:Cloud) do
53
53
 
54
54
  def add_ipv4_addr(ip, accessibility)
55
55
  return if ip.nil? # just skip if ip is nil
56
+
56
57
  ipaddr = validate_ip_addr(ip, :ipv4)
57
58
 
58
59
  case accessibility
59
60
  when :public
60
- @cloud[:public_ipv4_addrs] ||= Array.new
61
+ @cloud[:public_ipv4_addrs] ||= []
61
62
  @cloud[:public_ipv4_addrs] << ipaddr.to_s
62
63
  when :private
63
- @cloud[:local_ipv4_addrs] ||= Array.new
64
+ @cloud[:local_ipv4_addrs] ||= []
64
65
  @cloud[:local_ipv4_addrs] << ipaddr.to_s
65
66
  else
66
67
  raise "ERROR: invalid accessibility param of '#{accessibility}'. must be :public or :private."
@@ -69,15 +70,17 @@ Ohai.plugin(:Cloud) do
69
70
 
70
71
  def add_ipv6_addr(ip, accessibility)
71
72
  return if ip.nil? # just skip if ip is nil
73
+
72
74
  ipaddr = validate_ip_addr(ip, :ipv6)
73
75
 
74
76
  raise "ERROR: invalid ipv6 address of '#{ip}' detected. " unless ipaddr.ipv6?
77
+
75
78
  case accessibility
76
79
  when :public
77
- @cloud[:public_ipv6_addrs] ||= Array.new
80
+ @cloud[:public_ipv6_addrs] ||= []
78
81
  @cloud[:public_ipv6_addrs] << ipaddr.to_s
79
82
  when :private
80
- @cloud[:local_ipv6_addrs] ||= Array.new
83
+ @cloud[:local_ipv6_addrs] ||= []
81
84
  @cloud[:local_ipv6_addrs] << ipaddr.to_s
82
85
  else
83
86
  raise "ERROR: invalid accessibility param of '#{accessibility}'. must be :public or :private."
@@ -61,7 +61,7 @@ Ohai.plugin(:CPU) do
61
61
  cpu_number += 1
62
62
  when /vendor_id\s+:\s(.+)/
63
63
  vendor_id = $1
64
- if vendor_id =~ (/IBM\/S390/)
64
+ if vendor_id =~ (%r{IBM/S390})
65
65
  cpuinfo["vendor_id"] = vendor_id
66
66
  else
67
67
  cpuinfo[current_cpu]["vendor_id"] = vendor_id
@@ -173,9 +173,9 @@ Ohai.plugin(:CPU) do
173
173
  cpuinfo["model"] = $3.to_i(16).to_s
174
174
  cpuinfo["stepping"] = $4
175
175
  # These _should_ match /AMD Features2?/ lines as well
176
- when /FreeBSD\/SMP: Multiprocessor System Detected: (\d*) CPUs/
176
+ when %r{FreeBSD/SMP: Multiprocessor System Detected: (\d*) CPUs}
177
177
  cpuinfo["total"] = $1.to_i
178
- when /FreeBSD\/SMP: (\d*) package\(s\) x (\d*) core\(s\)/
178
+ when %r{FreeBSD/SMP: (\d*) package\(s\) x (\d*) core\(s\)}
179
179
  cpuinfo["real"] = $1.to_i
180
180
  cpuinfo["cores"] = $1.to_i * $2.to_i
181
181
  end
@@ -336,8 +336,8 @@ Ohai.plugin(:CPU) do
336
336
  cpu["cpustates"] = Mash.new
337
337
 
338
338
  currentcpu = 0
339
- cpucores = Array.new
340
- cpusockets = Array.new
339
+ cpucores = []
340
+ cpusockets = []
341
341
  processor_info.each do |processor|
342
342
  _desc, instance, _record, keyvalue = processor.split(":")
343
343
  cpu[instance] ||= Mash.new
@@ -406,7 +406,7 @@ Ohai.plugin(:CPU) do
406
406
  cpu[current_cpu]["model_name"] = processor["name"]
407
407
  cpu[current_cpu]["description"] = processor["description"]
408
408
  cpu[current_cpu]["mhz"] = processor["maxclockspeed"].to_s
409
- cpu[current_cpu]["cache_size"] = "#{processor['l2cachesize']} KB"
409
+ cpu[current_cpu]["cache_size"] = "#{processor["l2cachesize"]} KB"
410
410
  end
411
411
 
412
412
  cpu[:total] = logical_processors
@@ -21,14 +21,14 @@ Ohai.plugin(:Network) do
21
21
  provides "counters/network", "counters/network/interfaces"
22
22
 
23
23
  def parse_media(media_string)
24
- media = Hash.new
24
+ media = {}
25
25
  line_array = media_string.split(" ")
26
26
 
27
27
  0.upto(line_array.length - 1) do |i|
28
28
  unless line_array[i].eql?("none")
29
29
 
30
30
  if line_array[i + 1] =~ /^\<([a-zA-Z\-\,]+)\>$/
31
- media[line_array[i]] = Hash.new unless media.key?(line_array[i])
31
+ media[line_array[i]] = {} unless media.key?(line_array[i])
32
32
  if media[line_array[i]].key?("options")
33
33
  $1.split(",").each do |opt|
34
34
  media[line_array[i]]["options"] << opt unless media[line_array[i]]["options"].include?(opt)
@@ -38,7 +38,7 @@ Ohai.plugin(:Network) do
38
38
  end
39
39
  else
40
40
  if line_array[i].eql?("autoselect")
41
- media["autoselect"] = Hash.new unless media.key?("autoselect")
41
+ media["autoselect"] = {} unless media.key?("autoselect")
42
42
  media["autoselect"]["options"] = []
43
43
  end
44
44
  end
@@ -56,6 +56,7 @@ Ohai.plugin(:Network) do
56
56
  return "IPIP" if ifname.eql?("gif")
57
57
  return "6to4" if ifname.eql?("stf")
58
58
  return "dot1q" if ifname.eql?("vlan")
59
+
59
60
  "Unknown"
60
61
  end
61
62
 
@@ -63,6 +64,7 @@ Ohai.plugin(:Network) do
63
64
  return "Node" if scope.eql?("::1")
64
65
  return "Link" if scope =~ /^fe80\:/
65
66
  return "Site" if scope =~ /^fec0\:/
67
+
66
68
  "Global"
67
69
  end
68
70
 
@@ -74,6 +76,7 @@ Ohai.plugin(:Network) do
74
76
  return ifname unless ifaces[ifname].nil?
75
77
  # oh well, time to go hunting!
76
78
  return ifname.chop if ifname =~ /\*$/
79
+
77
80
  ifaces.each_key do |ifc|
78
81
  ifaces[ifc][:addresses].each_key do |addr|
79
82
  return ifc if addr.eql? mac
@@ -115,7 +118,7 @@ Ohai.plugin(:Network) do
115
118
  if line =~ /\sflags\=\d+\<((UP|BROADCAST|DEBUG|SMART|SIMPLEX|LOOPBACK|POINTOPOINT|NOTRAILERS|RUNNING|NOARP|PROMISC|ALLMULTI|SLAVE|MASTER|MULTICAST|DYNAMIC|,)+)\>\s/
116
119
  flags = $1.split(",")
117
120
  else
118
- flags = Array.new
121
+ flags = []
119
122
  end
120
123
  iface[cint][:flags] = flags.flatten
121
124
  if cint =~ /^(\w+)(\d+.*)/
@@ -165,6 +168,7 @@ Ohai.plugin(:Network) do
165
168
  if line =~ /^\S+ \((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) on ([a-zA-Z0-9\.\:\-]+).*\[(\w+)\]/
166
169
  # MAC addr really should be normalized to include all the zeroes.
167
170
  next if iface[$3].nil? # this should never happen
171
+
168
172
  iface[$3][:arp] ||= Mash.new
169
173
  iface[$3][:arp][$1] = $2
170
174
  end
@@ -189,6 +193,7 @@ Ohai.plugin(:Network) do
189
193
  line =~ /^([a-zA-Z0-9\.\:\-\*]+)\s+\d+\s+\<[a-zA-Z0-9\#]+\>(\s+)(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
190
194
  ifname = locate_interface(iface, $1, $2)
191
195
  next if iface[ifname].nil? # this shouldn't happen, but just in case
196
+
192
197
  net_counters[ifname] ||= Mash.new
193
198
  net_counters[ifname] = { rx: { bytes: $5, packets: $3, errors: $4, drop: 0, overrun: 0, frame: 0, compressed: 0, multicast: 0 },
194
199
  tx: { bytes: $8, packets: $6, errors: $7, drop: 0, overrun: 0, collisions: $9, carrier: 0, compressed: 0 },