ohai 15.0.35 → 15.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ohai.rb +4 -4
  3. data/lib/ohai/application.rb +3 -3
  4. data/lib/ohai/config.rb +2 -2
  5. data/lib/ohai/dsl.rb +2 -2
  6. data/lib/ohai/dsl/plugin.rb +5 -5
  7. data/lib/ohai/hints.rb +1 -1
  8. data/lib/ohai/loader.rb +4 -4
  9. data/lib/ohai/mixin/azure_metadata.rb +3 -3
  10. data/lib/ohai/mixin/command.rb +3 -3
  11. data/lib/ohai/mixin/do_metadata.rb +3 -3
  12. data/lib/ohai/mixin/ec2_metadata.rb +6 -6
  13. data/lib/ohai/mixin/gce_metadata.rb +3 -3
  14. data/lib/ohai/mixin/http_helper.rb +1 -1
  15. data/lib/ohai/mixin/scaleway_metadata.rb +3 -3
  16. data/lib/ohai/mixin/softlayer_metadata.rb +2 -2
  17. data/lib/ohai/plugin_config.rb +1 -1
  18. data/lib/ohai/plugins/aix/network.rb +6 -6
  19. data/lib/ohai/plugins/azure.rb +2 -2
  20. data/lib/ohai/plugins/bsd/virtualization.rb +2 -2
  21. data/lib/ohai/plugins/darwin/network.rb +14 -13
  22. data/lib/ohai/plugins/darwin/virtualization.rb +1 -1
  23. data/lib/ohai/plugins/digital_ocean.rb +2 -2
  24. data/lib/ohai/plugins/dmi.rb +3 -3
  25. data/lib/ohai/plugins/dragonflybsd/network.rb +9 -9
  26. data/lib/ohai/plugins/ec2.rb +2 -2
  27. data/lib/ohai/plugins/eucalyptus.rb +2 -2
  28. data/lib/ohai/plugins/filesystem.rb +5 -5
  29. data/lib/ohai/plugins/freebsd/network.rb +9 -9
  30. data/lib/ohai/plugins/gce.rb +2 -2
  31. data/lib/ohai/plugins/hostname.rb +2 -2
  32. data/lib/ohai/plugins/kernel.rb +1 -1
  33. data/lib/ohai/plugins/linux/fips.rb +1 -1
  34. data/lib/ohai/plugins/linux/network.rb +18 -18
  35. data/lib/ohai/plugins/linux/platform.rb +1 -3
  36. data/lib/ohai/plugins/linux/sessions.rb +2 -2
  37. data/lib/ohai/plugins/linux/virtualization.rb +2 -2
  38. data/lib/ohai/plugins/netbsd/network.rb +9 -9
  39. data/lib/ohai/plugins/network.rb +3 -3
  40. data/lib/ohai/plugins/openbsd/network.rb +9 -9
  41. data/lib/ohai/plugins/openstack.rb +2 -2
  42. data/lib/ohai/plugins/os.rb +1 -1
  43. data/lib/ohai/plugins/packages.rb +6 -8
  44. data/lib/ohai/plugins/passwd.rb +1 -1
  45. data/lib/ohai/plugins/scaleway.rb +2 -2
  46. data/lib/ohai/plugins/scsi.rb +1 -1
  47. data/lib/ohai/plugins/softlayer.rb +1 -1
  48. data/lib/ohai/plugins/solaris2/dmi.rb +2 -2
  49. data/lib/ohai/plugins/solaris2/network.rb +9 -9
  50. data/lib/ohai/plugins/solaris2/virtualization.rb +1 -1
  51. data/lib/ohai/plugins/uptime.rb +1 -1
  52. data/lib/ohai/plugins/virtualbox.rb +164 -19
  53. data/lib/ohai/plugins/windows/filesystem.rb +1 -1
  54. data/lib/ohai/plugins/windows/fips.rb +1 -1
  55. data/lib/ohai/plugins/windows/network.rb +3 -3
  56. data/lib/ohai/plugins/windows/virtualization.rb +2 -2
  57. data/lib/ohai/provides_map.rb +4 -4
  58. data/lib/ohai/runner.rb +1 -1
  59. data/lib/ohai/system.rb +15 -15
  60. data/lib/ohai/util/win32.rb +1 -1
  61. data/lib/ohai/version.rb +1 -1
  62. data/spec/unit/plugins/solaris2/network_spec.rb +10 -1
  63. data/spec/unit/plugins/vbox_host_spec.rb +14 -0
  64. data/spec/unit/plugins/virtualbox_spec.rb +310 -23
  65. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2b536c237b18f6b940c6a9082745d73d0c092e45f250129d4648e1b13834d0f
4
- data.tar.gz: e2efa2a548dd3270584593fc5bc056043cae6a85902c6d0dfbc6a3b27cf78934
3
+ metadata.gz: f7c38d18ba317c18ecba9a443a7e56bd45b6ae8eb546694588954699ef74f5e8
4
+ data.tar.gz: 6708362273b4e202c3b6dc59e65490618b72ad6b79eaab1065e85a0c5b3cc4e9
5
5
  SHA512:
6
- metadata.gz: '0038af185c2ba323b41cef83792e77072efb95b02ef3e506814712504ed7e90b518e576a515ace49455b604f602f9ebdf54746899ebd233a0b485d604b63d941'
7
- data.tar.gz: 2f507deee0668f4f9aa0eb06b1616535e3abf1a9101097d89fb485763e804b8a61470249bc905aa95c2dd706fc7b11f0e4dbd7cf2760bb49aae3b9e3bf2c90b5
6
+ metadata.gz: ad8dc68e5fae6d069e227f5678a3e0e2d78cb098a17de6cdff595feeb24515e3c3fe86d1c63ea1a583a334350d3b6fd123fda0dfb63c1f4c37ac5117375aabb1
7
+ data.tar.gz: 463c53e37b1a8bdc6a0f9606c7316109ee8fbf72049f39c7dbac7fae93f584b7ede41174e4e619ac2a8a1ebc70e78515b156f8ba77f5795365e5fd57707cfe32
@@ -16,7 +16,7 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- require "ohai/version"
20
- require "ohai/config"
21
- require "ohai/system"
22
- require "ohai/exception"
19
+ require_relative "ohai/version"
20
+ require_relative "ohai/config"
21
+ require_relative "ohai/system"
22
+ require_relative "ohai/exception"
@@ -17,9 +17,9 @@
17
17
 
18
18
  require "chef-config/path_helper"
19
19
  require "chef-config/workstation_config_loader"
20
- require "ohai"
21
- require "ohai/log"
22
- require "mixlib/cli"
20
+ require_relative "../ohai"
21
+ require_relative "log"
22
+ require "mixlib/cli" unless defined?(Mixlib::CLI)
23
23
  require "benchmark"
24
24
 
25
25
  # The Application class is what is called by the Ohai CLI binary. It handles:
@@ -18,8 +18,8 @@
18
18
  #
19
19
 
20
20
  require "chef-config/config"
21
- require "ohai/exception"
22
- require "ohai/plugin_config"
21
+ require_relative "exception"
22
+ require_relative "plugin_config"
23
23
 
24
24
  module Ohai
25
25
  Config = ChefConfig::Config
@@ -17,5 +17,5 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require "ohai/dsl/plugin"
21
- require "ohai/dsl/plugin/versionvii"
20
+ require_relative "dsl/plugin"
21
+ require_relative "dsl/plugin/versionvii"
@@ -18,11 +18,11 @@
18
18
  # limitations under the License.
19
19
  #
20
20
 
21
- require "ohai/mixin/os"
22
- require "ohai/mixin/command"
23
- require "ohai/mixin/seconds_to_human"
24
- require "ohai/hints"
25
- require "ohai/util/file_helper"
21
+ require_relative "../mixin/os"
22
+ require_relative "../mixin/command"
23
+ require_relative "../mixin/seconds_to_human"
24
+ require_relative "../hints"
25
+ require_relative "../util/file_helper"
26
26
 
27
27
  module Ohai
28
28
 
@@ -17,7 +17,7 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require "ffi_yajl"
20
+ require "ffi_yajl" unless defined?(FFI_Yajl)
21
21
 
22
22
  module Ohai
23
23
  # Ohai hints are json files on disk that give ohai a hint to things that are often
@@ -17,10 +17,10 @@
17
17
  #
18
18
 
19
19
  require "chef-config/path_helper"
20
- require "ohai/log"
21
- require "ohai/mash"
22
- require "ohai/dsl"
23
- require "pathname"
20
+ require_relative "log"
21
+ require_relative "mash"
22
+ require_relative "dsl"
23
+ require "pathname" unless defined?(Pathname)
24
24
 
25
25
  module Ohai
26
26
 
@@ -15,14 +15,14 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
 
18
- require "net/http"
18
+ require "net/http" unless defined?(Net::HTTP)
19
19
 
20
20
  module Ohai
21
21
  module Mixin
22
22
  module AzureMetadata
23
23
 
24
- AZURE_METADATA_ADDR = "169.254.169.254".freeze unless defined?(AZURE_METADATA_ADDR)
25
- AZURE_METADATA_URL = "/metadata/instance?api-version=2017-08-01".freeze unless defined?(AZURE_METADATA_URL)
24
+ AZURE_METADATA_ADDR ||= "169.254.169.254".freeze
25
+ AZURE_METADATA_URL ||= "/metadata/instance?api-version=2017-08-01".freeze
26
26
 
27
27
  # fetch the meta content with a timeout and the required header
28
28
  def http_get(uri)
@@ -17,9 +17,9 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require "ohai/exception"
21
- require "ohai/log"
22
- require "mixlib/shellout"
20
+ require_relative "../exception"
21
+ require_relative "../log"
22
+ require "mixlib/shellout" unless defined?(Mixlib::ShellOut::DEFAULT_READ_TIMEOUT)
23
23
 
24
24
  module Ohai
25
25
  module Mixin
@@ -14,14 +14,14 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "net/http"
17
+ require "net/http" unless defined?(Net::HTTP)
18
18
 
19
19
  module Ohai
20
20
  module Mixin
21
21
  module DOMetadata
22
22
 
23
- DO_METADATA_ADDR = "169.254.169.254".freeze unless defined?(DO_METADATA_ADDR)
24
- DO_METADATA_URL = "/metadata/v1.json".freeze unless defined?(DO_METADATA_URL)
23
+ DO_METADATA_ADDR ||= "169.254.169.254".freeze
24
+ DO_METADATA_URL ||= "/metadata/v1.json".freeze
25
25
 
26
26
  def http_client
27
27
  Net::HTTP.start(DO_METADATA_ADDR).tap { |h| h.read_timeout = 6 }
@@ -17,7 +17,7 @@
17
17
  # See the License for the specific language governing permissions and
18
18
  # limitations under the License.
19
19
 
20
- require "net/http"
20
+ require "net/http" unless defined?(Net::HTTP)
21
21
 
22
22
  module Ohai
23
23
  module Mixin
@@ -39,13 +39,13 @@ module Ohai
39
39
  #
40
40
  module Ec2Metadata
41
41
 
42
- EC2_METADATA_ADDR = "169.254.169.254".freeze unless defined?(EC2_METADATA_ADDR)
43
- EC2_SUPPORTED_VERSIONS = %w{ 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15
42
+ EC2_METADATA_ADDR ||= "169.254.169.254".freeze
43
+ EC2_SUPPORTED_VERSIONS ||= %w{ 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15
44
44
  2008-02-01 2008-09-01 2009-04-04 2011-01-01 2011-05-01 2012-01-12
45
45
  2014-02-25 2014-11-05 2015-10-20 2016-04-19 2016-06-30 2016-09-02 }.freeze
46
- EC2_ARRAY_VALUES = %w{security-groups local_ipv4s}.freeze
47
- EC2_ARRAY_DIR = %w{network/interfaces/macs}.freeze
48
- EC2_JSON_DIR = %w{iam}.freeze
46
+ EC2_ARRAY_VALUES ||= %w{security-groups local_ipv4s}.freeze
47
+ EC2_ARRAY_DIR ||= %w{network/interfaces/macs}.freeze
48
+ EC2_JSON_DIR ||= %w{iam}.freeze
49
49
 
50
50
  def best_api_version
51
51
  @api_version ||= begin
@@ -14,15 +14,15 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "net/http"
17
+ require "net/http" unless defined?(Net::HTTP)
18
18
 
19
19
  module Ohai
20
20
  module Mixin
21
21
  module GCEMetadata
22
22
 
23
23
  # Trailing dot to host is added to avoid DNS search path
24
- GCE_METADATA_ADDR = "metadata.google.internal.".freeze unless defined?(GCE_METADATA_ADDR)
25
- GCE_METADATA_URL = "/computeMetadata/v1/?recursive=true".freeze unless defined?(GCE_METADATA_URL)
24
+ GCE_METADATA_ADDR ||= "metadata.google.internal.".freeze
25
+ GCE_METADATA_URL ||= "/computeMetadata/v1/?recursive=true".freeze
26
26
 
27
27
  # fetch the meta content with a timeout and the required header
28
28
  def http_get(uri)
@@ -14,7 +14,7 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "socket"
17
+ require "socket" unless defined?(Socket)
18
18
 
19
19
  module Ohai
20
20
  module Mixin
@@ -14,14 +14,14 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "net/http"
17
+ require "net/http" unless defined?(Net::HTTP)
18
18
 
19
19
  module Ohai
20
20
  module Mixin
21
21
  module ScalewayMetadata
22
22
 
23
- SCALEWAY_METADATA_ADDR = "169.254.42.42".freeze unless defined?(SCALEWAY_METADATA_ADDR)
24
- SCALEWAY_METADATA_URL = "/conf?format=json".freeze unless defined?(SCALEWAY_METADATA_URL)
23
+ SCALEWAY_METADATA_ADDR ||= "169.254.42.42".freeze
24
+ SCALEWAY_METADATA_URL ||= "/conf?format=json".freeze
25
25
 
26
26
  # @return [Net::HTTP] net/http object without timeout set to 6
27
27
  def http_client
@@ -18,11 +18,11 @@
18
18
  # limitations under the License.
19
19
 
20
20
  require "net/https"
21
- require "uri"
21
+ require "uri" unless defined?(URI)
22
22
 
23
23
  # https://softlayer.github.io/reference/services/SoftLayer_Resource_Metadata/
24
24
  module ::Ohai::Mixin::SoftlayerMetadata
25
- SOFTLAYER_API_QUERY_URL = "https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata".freeze unless defined?(SOFTLAYER_API_QUERY_URL)
25
+ SOFTLAYER_API_QUERY_URL ||= "https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata".freeze
26
26
 
27
27
  # fetch metadata items and build out hash of data
28
28
  #
@@ -15,7 +15,7 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require "ohai/exception"
18
+ require_relative "exception"
19
19
 
20
20
  module Ohai
21
21
  class PluginConfig < Hash
@@ -44,7 +44,7 @@ Ohai.plugin(:Network) do
44
44
  iface = Mash.new
45
45
 
46
46
  network Mash.new unless network
47
- network[:interfaces] = Mash.new unless network[:interfaces]
47
+ network[:interfaces] ||= Mash.new
48
48
 
49
49
  # We unfortunately have to do things a bit different here, if ohai is running
50
50
  # within a WPAR. For instance, the WPAR isn't aware of some of its own networking
@@ -89,7 +89,7 @@ Ohai.plugin(:Network) do
89
89
  netmask = IPAddr.new("255.255.255.255").mask(tmp_prefix.to_i).to_s
90
90
  end
91
91
 
92
- iface[interface][:addresses] = Mash.new unless iface[interface][:addresses]
92
+ iface[interface][:addresses] ||= Mash.new
93
93
  iface[interface][:addresses][tmp_addr] = { "family" => "inet", "prefixlen" => tmp_prefix }
94
94
  iface[interface][:addresses][tmp_addr][:netmask] = netmask
95
95
 
@@ -98,7 +98,7 @@ Ohai.plugin(:Network) do
98
98
  end
99
99
  elsif lin =~ /inet6 ([a-f0-9\:]+)%?([\d]*)\/?(\d*)?/
100
100
  # TODO do we have more properties on inet6 in aix? broadcast
101
- iface[interface][:addresses] = Mash.new unless iface[interface][:addresses]
101
+ iface[interface][:addresses] ||= Mash.new
102
102
  iface[interface][:addresses][$1] = { "family" => "inet6", "zone_index" => $2, "prefixlen" => $3 }
103
103
  else
104
104
  # load all key-values, example "tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1"
@@ -113,7 +113,7 @@ Ohai.plugin(:Network) do
113
113
 
114
114
  # Query macaddress
115
115
  e_so = shell_out("entstat -d #{interface} | grep \"Hardware Address\"")
116
- iface[interface][:addresses] = Mash.new unless iface[interface][:addresses]
116
+ iface[interface][:addresses] ||= Mash.new
117
117
  e_so.stdout.lines.each do |l|
118
118
  if l =~ /Hardware Address: (\S+)/
119
119
  iface[interface][:addresses][$1.upcase] = { "family" => "lladdr" }
@@ -139,9 +139,9 @@ Ohai.plugin(:Network) do
139
139
  so = shell_out("arp -an")
140
140
  count = 0
141
141
  so.stdout.lines.each do |line|
142
- network[:arp] = Mash.new unless network[:arp]
142
+ network[:arp] ||= Mash.new
143
143
  if line =~ /\s*(\S+) \((\S+)\) at ([a-fA-F0-9\:]+) \[(\w+)\] stored in bucket/
144
- network[:arp][count] = Mash.new unless network[:arp][count]
144
+ network[:arp][count] ||= Mash.new
145
145
  network[:arp][count][:remote_host] = $1
146
146
  network[:arp][count][:remote_ip] = $2
147
147
  network[:arp][count][:remote_mac] = $3.downcase
@@ -15,8 +15,8 @@
15
15
  #
16
16
 
17
17
  Ohai.plugin(:Azure) do
18
- require "ohai/mixin/azure_metadata"
19
- require "ohai/mixin/http_helper"
18
+ require_relative "../mixin/azure_metadata"
19
+ require_relative "../mixin/http_helper"
20
20
 
21
21
  include Ohai::Mixin::AzureMetadata
22
22
  include Ohai::Mixin::HttpHelper
@@ -20,13 +20,13 @@
20
20
  Ohai.plugin(:Virtualization) do
21
21
  provides "virtualization"
22
22
  depends "dmi"
23
- require "ohai/mixin/dmi_decode"
23
+ require_relative "../../mixin/dmi_decode"
24
24
  include Ohai::Mixin::DmiDecode
25
25
 
26
26
  collect_data(:freebsd, :openbsd, :netbsd, :dragonflybsd) do
27
27
 
28
28
  virtualization Mash.new unless virtualization
29
- virtualization[:systems] = Mash.new unless virtualization[:systems]
29
+ virtualization[:systems] ||= Mash.new
30
30
 
31
31
  # detect when in a jail or when a jail is actively running (not in stopped state)
32
32
  so = shell_out("sysctl -n security.jail.jailed")
@@ -87,9 +87,9 @@ Ohai.plugin(:Network) do
87
87
  require "scanf"
88
88
 
89
89
  network Mash.new unless network
90
- network[:interfaces] = Mash.new unless network[:interfaces]
90
+ network[:interfaces] ||= Mash.new
91
91
  counters Mash.new unless counters
92
- counters[:network] = Mash.new unless counters[:network]
92
+ counters[:network] ||= Mash.new
93
93
 
94
94
  so = shell_out("route -n get default")
95
95
  so.stdout.lines do |line|
@@ -109,7 +109,8 @@ Ohai.plugin(:Network) do
109
109
  so.stdout.lines do |line|
110
110
  if line =~ /^([0-9a-zA-Z\.\:\-]+): \S+ mtu (\d+)$/
111
111
  cint = $1
112
- iface[cint] = Mash.new unless iface[cint]; iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
112
+ iface[cint] ||= Mash.new
113
+ iface[cint][:addresses] ||= Mash.new
113
114
  iface[cint][:mtu] = $2
114
115
  if line =~ /\sflags\=\d+\<((UP|BROADCAST|DEBUG|SMART|SIMPLEX|LOOPBACK|POINTOPOINT|NOTRAILERS|RUNNING|NOARP|PROMISC|ALLMULTI|SLAVE|MASTER|MULTICAST|DYNAMIC|,)+)\>\s/
115
116
  flags = $1.split(",")
@@ -124,37 +125,37 @@ Ohai.plugin(:Network) do
124
125
  end
125
126
  end
126
127
  if line =~ /^\s+ether ([0-9a-f\:]+)/
127
- iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
128
+ iface[cint][:addresses] ||= Mash.new
128
129
  iface[cint][:addresses][$1] = { "family" => "lladdr" }
129
130
  iface[cint][:encapsulation] = "Ethernet"
130
131
  end
131
132
  if line =~ /^\s+lladdr ([0-9a-f\:]+)\s/
132
- iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
133
+ iface[cint][:addresses] ||= Mash.new
133
134
  iface[cint][:addresses][$1] = { "family" => "lladdr" }
134
135
  end
135
136
  if line =~ /\s+inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) netmask 0x(([0-9a-f]){1,8})\s*$/
136
- iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
137
+ iface[cint][:addresses] ||= Mash.new
137
138
  iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => $2.scanf("%2x" * 4) * "." }
138
139
  end
139
140
  if line =~ /\s+inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) netmask 0x(([0-9a-f]){1,8}) broadcast (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
140
- iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
141
+ iface[cint][:addresses] ||= Mash.new
141
142
  iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => $2.scanf("%2x" * 4) * ".", "broadcast" => $4 }
142
143
  end
143
144
  if line =~ /\s+inet6 ([a-f0-9\:]+)(\s*|(\%[a-z0-9]+)\s*) prefixlen (\d+)\s*/
144
- iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
145
+ iface[cint][:addresses] ||= Mash.new
145
146
  iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $4 , "scope" => scope_lookup($1) }
146
147
  end
147
148
  if line =~ /\s+inet6 ([a-f0-9\:]+)(\s*|(\%[a-z0-9]+)\s*) prefixlen (\d+) scopeid 0x([a-f0-9]+)/
148
- iface[cint][:addresses] = Mash.new unless iface[cint][:addresses]
149
+ iface[cint][:addresses] ||= Mash.new
149
150
  iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $4 , "scope" => scope_lookup($1) }
150
151
  end
151
152
  if line =~ /^\s+media: ((\w+)|(\w+ [a-zA-Z0-9\-\<\>]+)) status: (\w+)/
152
- iface[cint][:media] = Mash.new unless iface[cint][:media]
153
+ iface[cint][:media] ||= Mash.new
153
154
  iface[cint][:media][:selected] = parse_media($1)
154
155
  iface[cint][:status] = $4
155
156
  end
156
157
  if line =~ /^\s+supported media: (.*)/
157
- iface[cint][:media] = Mash.new unless iface[cint][:media]
158
+ iface[cint][:media] ||= Mash.new
158
159
  iface[cint][:media][:supported] = parse_media($1)
159
160
  end
160
161
  end
@@ -164,7 +165,7 @@ Ohai.plugin(:Network) do
164
165
  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+)\]/
165
166
  # MAC addr really should be normalized to include all the zeroes.
166
167
  next if iface[$3].nil? # this should never happen
167
- iface[$3][:arp] = Mash.new unless iface[$3][:arp]
168
+ iface[$3][:arp] ||= Mash.new
168
169
  iface[$3][:arp][$1] = $2
169
170
  end
170
171
  end
@@ -188,7 +189,7 @@ Ohai.plugin(:Network) do
188
189
  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+)/
189
190
  ifname = locate_interface(iface, $1, $2)
190
191
  next if iface[ifname].nil? # this shouldn't happen, but just in case
191
- net_counters[ifname] = Mash.new unless net_counters[ifname]
192
+ net_counters[ifname] ||= Mash.new
192
193
  net_counters[ifname] = { rx: { bytes: $5, packets: $3, errors: $4, drop: 0, overrun: 0, frame: 0, compressed: 0, multicast: 0 },
193
194
  tx: { bytes: $8, packets: $6, errors: $7, drop: 0, overrun: 0, collisions: $9, carrier: 0, compressed: 0 },
194
195
  }
@@ -44,7 +44,7 @@ Ohai.plugin(:Virtualization) do
44
44
 
45
45
  collect_data(:darwin) do
46
46
  virtualization Mash.new unless virtualization
47
- virtualization[:systems] = Mash.new unless virtualization[:systems]
47
+ virtualization[:systems] ||= Mash.new
48
48
 
49
49
  if docker_exists?
50
50
  virtualization[:system] = "docker"
@@ -16,8 +16,8 @@
16
16
  # limitations under the License.
17
17
 
18
18
  Ohai.plugin(:DigitalOcean) do
19
- require "ohai/mixin/do_metadata"
20
- require "ohai/mixin/http_helper"
19
+ require_relative "../mixin/do_metadata"
20
+ require_relative "../mixin/http_helper"
21
21
 
22
22
  include Ohai::Mixin::DOMetadata
23
23
  include Ohai::Mixin::HttpHelper
@@ -22,7 +22,7 @@ Ohai.plugin(:DMI) do
22
22
  # dmidecode does not return data without access to /dev/mem (or its equivalent)
23
23
 
24
24
  collect_data do
25
- require "ohai/common/dmi"
25
+ require_relative "../common/dmi"
26
26
  dmi Mash.new
27
27
 
28
28
  # all output lines should fall within one of these patterns
@@ -82,8 +82,8 @@ Ohai.plugin(:DMI) do
82
82
 
83
83
  dmi_record = { type: Ohai::Common::DMI.id_lookup(handle[2]) }
84
84
 
85
- dmi[dmi_record[:type]] = Mash.new unless dmi.key?(dmi_record[:type])
86
- dmi[dmi_record[:type]][:all_records] = [] unless dmi[dmi_record[:type]].key?(:all_records)
85
+ dmi[dmi_record[:type]] ||= Mash.new
86
+ dmi[dmi_record[:type]][:all_records] ||= []
87
87
  dmi_record[:position] = dmi[dmi_record[:type]][:all_records].length
88
88
  dmi[dmi_record[:type]][:all_records].push(Mash.new)
89
89
  dmi[dmi_record[:type]][:all_records][dmi_record[:position]][:record_id] = handle[1]