ohai 15.0.35 → 15.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ohai.rb +4 -4
- data/lib/ohai/application.rb +3 -3
- data/lib/ohai/config.rb +2 -2
- data/lib/ohai/dsl.rb +2 -2
- data/lib/ohai/dsl/plugin.rb +5 -5
- data/lib/ohai/hints.rb +1 -1
- data/lib/ohai/loader.rb +4 -4
- data/lib/ohai/mixin/azure_metadata.rb +3 -3
- data/lib/ohai/mixin/command.rb +3 -3
- data/lib/ohai/mixin/do_metadata.rb +3 -3
- data/lib/ohai/mixin/ec2_metadata.rb +6 -6
- data/lib/ohai/mixin/gce_metadata.rb +3 -3
- data/lib/ohai/mixin/http_helper.rb +1 -1
- data/lib/ohai/mixin/scaleway_metadata.rb +3 -3
- data/lib/ohai/mixin/softlayer_metadata.rb +2 -2
- data/lib/ohai/plugin_config.rb +1 -1
- data/lib/ohai/plugins/aix/network.rb +6 -6
- data/lib/ohai/plugins/azure.rb +2 -2
- data/lib/ohai/plugins/bsd/virtualization.rb +2 -2
- data/lib/ohai/plugins/darwin/network.rb +14 -13
- data/lib/ohai/plugins/darwin/virtualization.rb +1 -1
- data/lib/ohai/plugins/digital_ocean.rb +2 -2
- data/lib/ohai/plugins/dmi.rb +3 -3
- data/lib/ohai/plugins/dragonflybsd/network.rb +9 -9
- data/lib/ohai/plugins/ec2.rb +2 -2
- data/lib/ohai/plugins/eucalyptus.rb +2 -2
- data/lib/ohai/plugins/filesystem.rb +5 -5
- data/lib/ohai/plugins/freebsd/network.rb +9 -9
- data/lib/ohai/plugins/gce.rb +2 -2
- data/lib/ohai/plugins/hostname.rb +2 -2
- data/lib/ohai/plugins/kernel.rb +1 -1
- data/lib/ohai/plugins/linux/fips.rb +1 -1
- data/lib/ohai/plugins/linux/network.rb +18 -18
- data/lib/ohai/plugins/linux/platform.rb +1 -3
- data/lib/ohai/plugins/linux/sessions.rb +2 -2
- data/lib/ohai/plugins/linux/virtualization.rb +2 -2
- data/lib/ohai/plugins/netbsd/network.rb +9 -9
- data/lib/ohai/plugins/network.rb +3 -3
- data/lib/ohai/plugins/openbsd/network.rb +9 -9
- data/lib/ohai/plugins/openstack.rb +2 -2
- data/lib/ohai/plugins/os.rb +1 -1
- data/lib/ohai/plugins/packages.rb +6 -8
- data/lib/ohai/plugins/passwd.rb +1 -1
- data/lib/ohai/plugins/scaleway.rb +2 -2
- data/lib/ohai/plugins/scsi.rb +1 -1
- data/lib/ohai/plugins/softlayer.rb +1 -1
- data/lib/ohai/plugins/solaris2/dmi.rb +2 -2
- data/lib/ohai/plugins/solaris2/network.rb +9 -9
- data/lib/ohai/plugins/solaris2/virtualization.rb +1 -1
- data/lib/ohai/plugins/uptime.rb +1 -1
- data/lib/ohai/plugins/virtualbox.rb +164 -19
- data/lib/ohai/plugins/windows/filesystem.rb +1 -1
- data/lib/ohai/plugins/windows/fips.rb +1 -1
- data/lib/ohai/plugins/windows/network.rb +3 -3
- data/lib/ohai/plugins/windows/virtualization.rb +2 -2
- data/lib/ohai/provides_map.rb +4 -4
- data/lib/ohai/runner.rb +1 -1
- data/lib/ohai/system.rb +15 -15
- data/lib/ohai/util/win32.rb +1 -1
- data/lib/ohai/version.rb +1 -1
- data/spec/unit/plugins/solaris2/network_spec.rb +10 -1
- data/spec/unit/plugins/vbox_host_spec.rb +14 -0
- data/spec/unit/plugins/virtualbox_spec.rb +310 -23
- metadata +3 -2
@@ -22,9 +22,9 @@ Ohai.plugin(:Network) do
|
|
22
22
|
|
23
23
|
collect_data(:dragonflybsd) do
|
24
24
|
network Mash.new unless network
|
25
|
-
network[:interfaces]
|
25
|
+
network[:interfaces] ||= Mash.new
|
26
26
|
counters Mash.new unless counters
|
27
|
-
counters[:network]
|
27
|
+
counters[:network] ||= Mash.new
|
28
28
|
|
29
29
|
so = shell_out("route -n get default")
|
30
30
|
so.stdout.lines do |line|
|
@@ -52,11 +52,11 @@ Ohai.plugin(:Network) do
|
|
52
52
|
end
|
53
53
|
# call the family lladdr to match linux for consistency
|
54
54
|
if line =~ /\s+ether (.+?)\s/
|
55
|
-
iface[cint][:addresses]
|
55
|
+
iface[cint][:addresses] ||= Mash.new
|
56
56
|
iface[cint][:addresses][$1] = { "family" => "lladdr" }
|
57
57
|
end
|
58
58
|
if line =~ /\s+inet ([\d.]+) netmask ([\da-fx]+)\s*\w*\s*([\d.]*)/
|
59
|
-
iface[cint][:addresses]
|
59
|
+
iface[cint][:addresses] ||= Mash.new
|
60
60
|
# convert the netmask to decimal for consistency
|
61
61
|
netmask = "#{$2[2, 2].hex}.#{$2[4, 2].hex}.#{$2[6, 2].hex}.#{$2[8, 2].hex}"
|
62
62
|
if $3.empty?
|
@@ -67,7 +67,7 @@ Ohai.plugin(:Network) do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
if line =~ /\s+inet6 ([a-f0-9\:]+)%?(\w*)\s+prefixlen\s+(\d+)\s*\w*\s*([\da-fx]*)/
|
70
|
-
iface[cint][:addresses]
|
70
|
+
iface[cint][:addresses] ||= Mash.new
|
71
71
|
if $4.empty?
|
72
72
|
iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $3 }
|
73
73
|
else
|
@@ -89,7 +89,7 @@ Ohai.plugin(:Network) do
|
|
89
89
|
so.stdout.lines do |line|
|
90
90
|
if line =~ /\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) on ([0-9a-zA-Z\.\:\-]+)/
|
91
91
|
next unless iface[$3] # this should never happen
|
92
|
-
iface[$3][:arp]
|
92
|
+
iface[$3][:arp] ||= Mash.new
|
93
93
|
iface[$3][:arp][$1] = $2.downcase
|
94
94
|
end
|
95
95
|
end
|
@@ -107,9 +107,9 @@ Ohai.plugin(:Network) do
|
|
107
107
|
# ed0 1500 <Link#1> 54:52:00:68:92:85 333604 26 151905886 175472 0 24897542 0 905
|
108
108
|
# $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
|
109
109
|
if line =~ /^([\w\.\*]+)\s+\d+\s+<Link#\d+>\s+([\w:]*)\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
|
110
|
-
net_counters[$1]
|
111
|
-
net_counters[$1]["rx"]
|
112
|
-
net_counters[$1]["tx"]
|
110
|
+
net_counters[$1] ||= Mash.new
|
111
|
+
net_counters[$1]["rx"] ||= Mash.new
|
112
|
+
net_counters[$1]["tx"] ||= Mash.new
|
113
113
|
net_counters[$1]["rx"]["packets"] = $3
|
114
114
|
net_counters[$1]["rx"]["errors"] = $4
|
115
115
|
net_counters[$1]["rx"]["bytes"] = $5
|
data/lib/ohai/plugins/ec2.rb
CHANGED
@@ -26,8 +26,8 @@
|
|
26
26
|
# 4. Kernel data mentioned Amazon. This catches Windows HVM & paravirt instances
|
27
27
|
|
28
28
|
Ohai.plugin(:EC2) do
|
29
|
-
|
30
|
-
|
29
|
+
require_relative "../mixin/ec2_metadata"
|
30
|
+
require_relative "../mixin/http_helper"
|
31
31
|
require "base64"
|
32
32
|
|
33
33
|
include Ohai::Mixin::Ec2Metadata
|
@@ -19,8 +19,8 @@
|
|
19
19
|
|
20
20
|
Ohai.plugin(:Eucalyptus) do
|
21
21
|
# eucalyptus metadata service is compatible with the ec2 service calls
|
22
|
-
|
23
|
-
|
22
|
+
require_relative "../mixin/ec2_metadata"
|
23
|
+
require_relative "../mixin/http_helper"
|
24
24
|
|
25
25
|
include Ohai::Mixin::Ec2Metadata
|
26
26
|
include Ohai::Mixin::HttpHelper
|
@@ -65,7 +65,7 @@ Ohai.plugin(:Filesystem) do
|
|
65
65
|
def generate_device_view(fs)
|
66
66
|
view = {}
|
67
67
|
fs.each_value do |entry|
|
68
|
-
view[entry[:device]]
|
68
|
+
view[entry[:device]] ||= Mash.new
|
69
69
|
entry.each do |key, val|
|
70
70
|
next if %w{device mount}.include?(key)
|
71
71
|
view[entry[:device]][key] = val
|
@@ -82,7 +82,7 @@ Ohai.plugin(:Filesystem) do
|
|
82
82
|
view = {}
|
83
83
|
fs.each_value do |entry|
|
84
84
|
next unless entry[:mount]
|
85
|
-
view[entry[:mount]]
|
85
|
+
view[entry[:mount]] ||= Mash.new
|
86
86
|
entry.each do |key, val|
|
87
87
|
next if %w{mount device}.include?(key)
|
88
88
|
view[entry[:mount]][key] = val
|
@@ -182,7 +182,7 @@ Ohai.plugin(:Filesystem) do
|
|
182
182
|
so.stdout.each_line do |line|
|
183
183
|
if line =~ /^(.+?) on (.+?) type (.+?) \((.+?)\)$/
|
184
184
|
key = "#{$1},#{$2}"
|
185
|
-
fs[key]
|
185
|
+
fs[key] ||= Mash.new
|
186
186
|
fs[key][:device] = $1
|
187
187
|
fs[key][:mount] = $2
|
188
188
|
fs[key][:fs_type] = $3
|
@@ -380,7 +380,7 @@ Ohai.plugin(:Filesystem) do
|
|
380
380
|
so.stdout.lines do |line|
|
381
381
|
if line =~ /^(.+?) on (.+?) \((.+?), (.+?)\)$/
|
382
382
|
key = "#{$1},#{$2}"
|
383
|
-
fs[key]
|
383
|
+
fs[key] ||= Mash.new
|
384
384
|
fs[key][:mount] = $2
|
385
385
|
fs[key][:fs_type] = $3
|
386
386
|
fs[key][:mount_options] = $4.split(/,\s*/)
|
@@ -426,7 +426,7 @@ Ohai.plugin(:Filesystem) do
|
|
426
426
|
so.stdout.lines do |line|
|
427
427
|
next unless line =~ /^(.+?) on (.+?) (.+?) on (.+?)$/
|
428
428
|
key = "#{$2},#{$1}"
|
429
|
-
fs[key]
|
429
|
+
fs[key] ||= Mash.new
|
430
430
|
fs[key][:mount] = $1
|
431
431
|
fs[key][:mount_time] = $4 # $4 must come before "split", else it becomes nil
|
432
432
|
fs[key][:mount_options] = $3.split("/")
|
@@ -22,9 +22,9 @@ Ohai.plugin(:Network) do
|
|
22
22
|
|
23
23
|
collect_data(:freebsd) do
|
24
24
|
network Mash.new unless network
|
25
|
-
network[:interfaces]
|
25
|
+
network[:interfaces] ||= Mash.new
|
26
26
|
counters Mash.new unless counters
|
27
|
-
counters[:network]
|
27
|
+
counters[:network] ||= Mash.new
|
28
28
|
|
29
29
|
so = shell_out("route -n get default")
|
30
30
|
so.stdout.lines do |line|
|
@@ -52,11 +52,11 @@ Ohai.plugin(:Network) do
|
|
52
52
|
end
|
53
53
|
# call the family lladdr to match linux for consistency
|
54
54
|
if line =~ /\s+ether (.+?)\s/
|
55
|
-
iface[cint][:addresses]
|
55
|
+
iface[cint][:addresses] ||= Mash.new
|
56
56
|
iface[cint][:addresses][$1] = { "family" => "lladdr" }
|
57
57
|
end
|
58
58
|
if line =~ /\s+inet ([\d.]+) netmask ([\da-fx]+)\s*\w*\s*([\d.]*)/
|
59
|
-
iface[cint][:addresses]
|
59
|
+
iface[cint][:addresses] ||= Mash.new
|
60
60
|
# convert the netmask to decimal for consistency
|
61
61
|
netmask = "#{$2[2, 2].hex}.#{$2[4, 2].hex}.#{$2[6, 2].hex}.#{$2[8, 2].hex}"
|
62
62
|
if $3.empty?
|
@@ -67,7 +67,7 @@ Ohai.plugin(:Network) do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
if line =~ /\s+inet6 ([a-f0-9\:]+)%?(\w*)\s+prefixlen\s+(\d+)\s*\w*\s*([\da-fx]*)/
|
70
|
-
iface[cint][:addresses]
|
70
|
+
iface[cint][:addresses] ||= Mash.new
|
71
71
|
if $4.empty?
|
72
72
|
iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $3 }
|
73
73
|
else
|
@@ -89,7 +89,7 @@ Ohai.plugin(:Network) do
|
|
89
89
|
so.stdout.lines do |line|
|
90
90
|
if line =~ /\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) on ([0-9a-zA-Z\.\:\-]+)/
|
91
91
|
next unless iface[$3] # this should never happen
|
92
|
-
iface[$3][:arp]
|
92
|
+
iface[$3][:arp] ||= Mash.new
|
93
93
|
iface[$3][:arp][$1] = $2.downcase
|
94
94
|
end
|
95
95
|
end
|
@@ -107,9 +107,9 @@ Ohai.plugin(:Network) do
|
|
107
107
|
# ed0 1500 <Link#1> 54:52:00:68:92:85 333604 26 151905886 175472 0 24897542 0 905
|
108
108
|
# $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
|
109
109
|
if line =~ /^([\w\.\*]+)\s+\d+\s+<Link#\d+>\s+([\w:]*)\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
|
110
|
-
net_counters[$1]
|
111
|
-
net_counters[$1]["rx"]
|
112
|
-
net_counters[$1]["tx"]
|
110
|
+
net_counters[$1] ||= Mash.new
|
111
|
+
net_counters[$1]["rx"] ||= Mash.new
|
112
|
+
net_counters[$1]["tx"] ||= Mash.new
|
113
113
|
net_counters[$1]["rx"]["packets"] = $3
|
114
114
|
net_counters[$1]["rx"]["errors"] = $4
|
115
115
|
net_counters[$1]["rx"]["bytes"] = $5
|
data/lib/ohai/plugins/gce.rb
CHANGED
@@ -15,8 +15,8 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
|
17
17
|
Ohai.plugin(:GCE) do
|
18
|
-
|
19
|
-
|
18
|
+
require_relative "../mixin/gce_metadata"
|
19
|
+
require_relative "../mixin/http_helper"
|
20
20
|
|
21
21
|
include Ohai::Mixin::GCEMetadata
|
22
22
|
include Ohai::Mixin::HttpHelper
|
@@ -26,7 +26,7 @@
|
|
26
26
|
#
|
27
27
|
|
28
28
|
Ohai.plugin(:Hostname) do
|
29
|
-
require "socket"
|
29
|
+
require "socket" unless defined?(Socket)
|
30
30
|
require "ipaddr"
|
31
31
|
|
32
32
|
provides "domain", "hostname", "fqdn", "machinename"
|
@@ -161,7 +161,7 @@ Ohai.plugin(:Hostname) do
|
|
161
161
|
|
162
162
|
collect_data(:windows) do
|
163
163
|
require "wmi-lite/wmi"
|
164
|
-
require "socket"
|
164
|
+
require "socket" unless defined?(Socket)
|
165
165
|
|
166
166
|
wmi = WmiLite::Wmi.new
|
167
167
|
host = wmi.first_of("Win32_ComputerSystem")
|
data/lib/ohai/plugins/kernel.rb
CHANGED
@@ -28,7 +28,7 @@ Ohai.plugin(:Fips) do
|
|
28
28
|
collect_data(:linux) do
|
29
29
|
fips Mash.new
|
30
30
|
|
31
|
-
require "openssl"
|
31
|
+
require "openssl" unless defined?(OpenSSL)
|
32
32
|
if defined?(OpenSSL.fips_mode) && OpenSSL.fips_mode && !$FIPS_TEST_MODE
|
33
33
|
fips["kernel"] = { "enabled" => true }
|
34
34
|
else
|
@@ -58,7 +58,7 @@ Ohai.plugin(:Network) do
|
|
58
58
|
logger.warn("neighbor list has entries for unknown interface #{interface}")
|
59
59
|
next
|
60
60
|
end
|
61
|
-
interface[neigh_attr]
|
61
|
+
interface[neigh_attr] ||= Mash.new
|
62
62
|
interface[neigh_attr][$1] = $3.downcase
|
63
63
|
end
|
64
64
|
end
|
@@ -208,8 +208,8 @@ Ohai.plugin(:Network) do
|
|
208
208
|
so.stdout.lines do |line|
|
209
209
|
if line =~ IPROUTE_INT_REGEX
|
210
210
|
tmp_int = $2
|
211
|
-
iface[tmp_int]
|
212
|
-
net_counters[tmp_int]
|
211
|
+
iface[tmp_int] ||= Mash.new
|
212
|
+
net_counters[tmp_int] ||= Mash.new
|
213
213
|
end
|
214
214
|
|
215
215
|
if line =~ /^\s+(ip6tnl|ipip)/
|
@@ -239,7 +239,7 @@ Ohai.plugin(:Network) do
|
|
239
239
|
|
240
240
|
if line =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
|
241
241
|
int = on_rx ? :rx : :tx
|
242
|
-
net_counters[tmp_int][int]
|
242
|
+
net_counters[tmp_int][int] ||= Mash.new
|
243
243
|
net_counters[tmp_int][int][:bytes] = $1
|
244
244
|
net_counters[tmp_int][int][:packets] = $2
|
245
245
|
net_counters[tmp_int][int][:errors] = $3
|
@@ -255,7 +255,7 @@ Ohai.plugin(:Network) do
|
|
255
255
|
end
|
256
256
|
|
257
257
|
if line =~ /qlen (\d+)/
|
258
|
-
net_counters[tmp_int][:tx]
|
258
|
+
net_counters[tmp_int][:tx] ||= Mash.new
|
259
259
|
net_counters[tmp_int][:tx][:queuelen] = $1
|
260
260
|
end
|
261
261
|
|
@@ -266,7 +266,7 @@ Ohai.plugin(:Network) do
|
|
266
266
|
else
|
267
267
|
tmp_id = $1
|
268
268
|
end
|
269
|
-
iface[tmp_int][:vlan]
|
269
|
+
iface[tmp_int][:vlan] ||= Mash.new
|
270
270
|
iface[tmp_int][:vlan][:id] = tmp_id
|
271
271
|
iface[tmp_int][:vlan][:protocol] = tmp_prot if tmp_prot
|
272
272
|
|
@@ -320,7 +320,7 @@ Ohai.plugin(:Network) do
|
|
320
320
|
if line =~ /link\/(\w+) ([\da-f\:]+) /
|
321
321
|
iface[cint][:encapsulation] = linux_encaps_lookup($1)
|
322
322
|
unless $2 == "00:00:00:00:00:00"
|
323
|
-
iface[cint][:addresses]
|
323
|
+
iface[cint][:addresses] ||= Mash.new
|
324
324
|
iface[cint][:addresses][$2.upcase] = { "family" => "lladdr" }
|
325
325
|
end
|
326
326
|
end
|
@@ -340,8 +340,8 @@ Ohai.plugin(:Network) do
|
|
340
340
|
cint = alias_int
|
341
341
|
end
|
342
342
|
|
343
|
-
iface[cint]
|
344
|
-
iface[cint][:addresses]
|
343
|
+
iface[cint] ||= Mash.new # Create the fake alias interface if needed
|
344
|
+
iface[cint][:addresses] ||= Mash.new
|
345
345
|
iface[cint][:addresses][tmp_addr] = { "family" => "inet", "prefixlen" => tmp_prefix }
|
346
346
|
iface[cint][:addresses][tmp_addr][:netmask] = IPAddr.new("255.255.255.255").mask(tmp_prefix.to_i).to_s
|
347
347
|
|
@@ -365,7 +365,7 @@ Ohai.plugin(:Network) do
|
|
365
365
|
|
366
366
|
def parse_ip_addr_inet6_line(cint, iface, line)
|
367
367
|
if line =~ /inet6 ([a-f0-9\:]+)\/(\d+) scope (\w+)( .*)?/
|
368
|
-
iface[cint][:addresses]
|
368
|
+
iface[cint][:addresses] ||= Mash.new
|
369
369
|
tmp_addr = $1
|
370
370
|
tags = $4 || ""
|
371
371
|
tags = tags.split(" ")
|
@@ -476,9 +476,9 @@ Ohai.plugin(:Network) do
|
|
476
476
|
net_counters = Mash.new
|
477
477
|
|
478
478
|
network Mash.new unless network
|
479
|
-
network[:interfaces]
|
479
|
+
network[:interfaces] ||= Mash.new
|
480
480
|
counters Mash.new unless counters
|
481
|
-
counters[:network]
|
481
|
+
counters[:network] ||= Mash.new
|
482
482
|
|
483
483
|
# ohai.plugin[:network][:default_route_table] = 'default'
|
484
484
|
if configuration(:default_route_table).nil? || configuration(:default_route_table).empty?
|
@@ -491,7 +491,7 @@ Ohai.plugin(:Network) do
|
|
491
491
|
# Match the lead line for an interface from iproute2
|
492
492
|
# 3: eth0.11@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
|
493
493
|
# The '@eth0:' portion doesn't exist on primary interfaces and thus is optional in the regex
|
494
|
-
IPROUTE_INT_REGEX
|
494
|
+
IPROUTE_INT_REGEX ||= /^(\d+): ([0-9a-zA-Z@:\.\-_]*?)(@[0-9a-zA-Z]+|):\s/.freeze
|
495
495
|
|
496
496
|
if which("ip")
|
497
497
|
# families to get default routes from
|
@@ -597,16 +597,16 @@ Ohai.plugin(:Network) do
|
|
597
597
|
iface[cint][:encapsulation] = linux_encaps_lookup($1)
|
598
598
|
end
|
599
599
|
if line =~ /HWaddr (.+?)\s/
|
600
|
-
iface[cint][:addresses]
|
600
|
+
iface[cint][:addresses] ||= Mash.new
|
601
601
|
iface[cint][:addresses][$1] = { "family" => "lladdr" }
|
602
602
|
end
|
603
603
|
if line =~ /inet addr:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
|
604
|
-
iface[cint][:addresses]
|
604
|
+
iface[cint][:addresses] ||= Mash.new
|
605
605
|
iface[cint][:addresses][$1] = { "family" => "inet" }
|
606
606
|
tmp_addr = $1
|
607
607
|
end
|
608
608
|
if line =~ /inet6 addr: ([a-f0-9\:]+)\/(\d+) Scope:(\w+)/
|
609
|
-
iface[cint][:addresses]
|
609
|
+
iface[cint][:addresses] ||= Mash.new
|
610
610
|
iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $2, "scope" => ($3.eql?("Host") ? "Node" : $3) }
|
611
611
|
end
|
612
612
|
if line =~ /Bcast:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
|
@@ -626,7 +626,7 @@ Ohai.plugin(:Network) do
|
|
626
626
|
iface[cint][:peer] = $1
|
627
627
|
end
|
628
628
|
if line =~ /RX packets:(\d+) errors:(\d+) dropped:(\d+) overruns:(\d+) frame:(\d+)/
|
629
|
-
net_counters[cint]
|
629
|
+
net_counters[cint] ||= Mash.new
|
630
630
|
net_counters[cint][:rx] = { "packets" => $1, "errors" => $2, "drop" => $3, "overrun" => $4, "frame" => $5 }
|
631
631
|
end
|
632
632
|
if line =~ /TX packets:(\d+) errors:(\d+) dropped:(\d+) overruns:(\d+) carrier:(\d+)/
|
@@ -650,7 +650,7 @@ Ohai.plugin(:Network) do
|
|
650
650
|
so.stdout.lines do |line|
|
651
651
|
if line =~ /^\S+ \((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) \[(\w+)\] on ([0-9a-zA-Z\.\:\-]+)/
|
652
652
|
next unless iface[$4] # this should never happen
|
653
|
-
iface[$4][:arp]
|
653
|
+
iface[$4][:arp] ||= Mash.new
|
654
654
|
iface[$4][:arp][$1] = $2.downcase
|
655
655
|
end
|
656
656
|
end
|
@@ -23,8 +23,7 @@ Ohai.plugin(:Platform) do
|
|
23
23
|
# the platform mappings between the 'ID' field in /etc/os-release and the value
|
24
24
|
# ohai uses. If you're adding a new platform here and you want to change the name
|
25
25
|
# you'll want to add it here and then add a spec for the platform_id_remap method
|
26
|
-
|
27
|
-
PLATFORM_MAPPINGS = {
|
26
|
+
PLATFORM_MAPPINGS ||= {
|
28
27
|
"rhel" => "redhat",
|
29
28
|
"amzn" => "amazon",
|
30
29
|
"ol" => "oracle",
|
@@ -34,7 +33,6 @@ Ohai.plugin(:Platform) do
|
|
34
33
|
"xenenterprise" => "xenserver",
|
35
34
|
"cumulus-linux" => "cumulus",
|
36
35
|
}.freeze
|
37
|
-
end
|
38
36
|
|
39
37
|
# @deprecated
|
40
38
|
def get_redhatish_platform(contents)
|
@@ -28,8 +28,8 @@ Ohai.plugin(:Sessions) do
|
|
28
28
|
loginctl = shell_out(cmd)
|
29
29
|
|
30
30
|
sessions Mash.new unless sessions
|
31
|
-
sessions[:by_session]
|
32
|
-
sessions[:by_user]
|
31
|
+
sessions[:by_session] ||= Mash.new
|
32
|
+
sessions[:by_user] ||= Mash.new
|
33
33
|
|
34
34
|
loginctl.stdout.split("\n").each do |line|
|
35
35
|
session, uid, user, seat = line.split
|
@@ -19,7 +19,7 @@
|
|
19
19
|
Ohai.plugin(:Virtualization) do
|
20
20
|
provides "virtualization"
|
21
21
|
depends "dmi"
|
22
|
-
|
22
|
+
require_relative "../../mixin/dmi_decode"
|
23
23
|
include Ohai::Mixin::DmiDecode
|
24
24
|
|
25
25
|
def lxc_version_exists?
|
@@ -36,7 +36,7 @@ Ohai.plugin(:Virtualization) do
|
|
36
36
|
|
37
37
|
collect_data(:linux) do
|
38
38
|
virtualization Mash.new unless virtualization
|
39
|
-
virtualization[:systems]
|
39
|
+
virtualization[:systems] ||= Mash.new
|
40
40
|
|
41
41
|
# Docker hosts
|
42
42
|
if docker_exists?
|
@@ -22,9 +22,9 @@ Ohai.plugin(:Network) do
|
|
22
22
|
|
23
23
|
collect_data(:netbsd) do
|
24
24
|
network Mash.new unless network
|
25
|
-
network[:interfaces]
|
25
|
+
network[:interfaces] ||= Mash.new
|
26
26
|
counters Mash.new unless counters
|
27
|
-
counters[:network]
|
27
|
+
counters[:network] ||= Mash.new
|
28
28
|
|
29
29
|
so = shell_out("route -n get default")
|
30
30
|
so.stdout.lines do |line|
|
@@ -52,11 +52,11 @@ Ohai.plugin(:Network) do
|
|
52
52
|
end
|
53
53
|
# call the family lladdr to match linux for consistency
|
54
54
|
if line =~ /\s+address: (.+?)\s/
|
55
|
-
iface[cint][:addresses]
|
55
|
+
iface[cint][:addresses] ||= Mash.new
|
56
56
|
iface[cint][:addresses][$1] = { "family" => "lladdr" }
|
57
57
|
end
|
58
58
|
if line =~ /\s+inet ([\d.]+) netmask ([\da-fx]+)\s*\w*\s*([\d.]*)/
|
59
|
-
iface[cint][:addresses]
|
59
|
+
iface[cint][:addresses] ||= Mash.new
|
60
60
|
# convert the netmask to decimal for consistency
|
61
61
|
netmask = "#{$2[2, 2].hex}.#{$2[4, 2].hex}.#{$2[6, 2].hex}.#{$2[8, 2].hex}"
|
62
62
|
if $3.empty?
|
@@ -67,7 +67,7 @@ Ohai.plugin(:Network) do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
if line =~ /\s+inet6 ([a-f0-9\:]+)%?(\w*)\s+prefixlen\s+(\d+)\s*\w*\s*([\da-fx]*)/
|
70
|
-
iface[cint][:addresses]
|
70
|
+
iface[cint][:addresses] ||= Mash.new
|
71
71
|
if $4.empty?
|
72
72
|
iface[cint][:addresses][$1] = { "family" => "inet6", "prefixlen" => $3 }
|
73
73
|
else
|
@@ -89,7 +89,7 @@ Ohai.plugin(:Network) do
|
|
89
89
|
so.stdout.lines do |line|
|
90
90
|
if line =~ /\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\) at ([a-fA-F0-9\:]+) on ([0-9a-zA-Z\.\:\-]+)/
|
91
91
|
next unless iface[$3] # this should never happen
|
92
|
-
iface[$3][:arp]
|
92
|
+
iface[$3][:arp] ||= Mash.new
|
93
93
|
iface[$3][:arp][$1] = $2.downcase
|
94
94
|
end
|
95
95
|
end
|
@@ -107,9 +107,9 @@ Ohai.plugin(:Network) do
|
|
107
107
|
# em0 1500 <Link> 00:11:25:2d:90:be 3719557 0 3369969 0 0 0
|
108
108
|
# $1 $2 $3 $4 $5 $6 $7 $8
|
109
109
|
if line =~ /^([\w\.\*]+)\s+\d+\s+<Link>\s+([\w:]*)\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/
|
110
|
-
net_counters[$1]
|
111
|
-
net_counters[$1]["rx"]
|
112
|
-
net_counters[$1]["tx"]
|
110
|
+
net_counters[$1] ||= Mash.new
|
111
|
+
net_counters[$1]["rx"] ||= Mash.new
|
112
|
+
net_counters[$1]["tx"] ||= Mash.new
|
113
113
|
net_counters[$1]["rx"]["packets"] = $3
|
114
114
|
net_counters[$1]["rx"]["errors"] = $4
|
115
115
|
net_counters[$1]["tx"]["packets"] = $5
|