ohai 8.16.0 → 8.17.0
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.
- checksums.yaml +4 -4
- data/lib/ohai/plugins/ec2.rb +14 -20
- data/lib/ohai/plugins/kernel.rb +5 -0
- data/lib/ohai/plugins/linux/network.rb +41 -2
- data/lib/ohai/plugins/linux/platform.rb +4 -1
- data/lib/ohai/plugins/openstack.rb +6 -10
- data/lib/ohai/plugins/packages.rb +19 -8
- data/lib/ohai/plugins/timezone.rb +23 -0
- data/lib/ohai/version.rb +1 -1
- data/spec/data/plugins/dpkg-query.output +4 -1087
- data/spec/data/plugins/pkg-query.output +58 -0
- data/spec/data/plugins/rpmquery.output +5 -388
- data/spec/unit/plugins/linux/kernel_spec.rb +26 -0
- data/spec/unit/plugins/linux/network_spec.rb +26 -1
- data/spec/unit/plugins/linux/platform_spec.rb +6 -1
- data/spec/unit/plugins/packages_spec.rb +54 -10
- data/spec/unit/plugins/timezone_spec.rb +30 -0
- metadata +5 -2
@@ -31,15 +31,41 @@ serio_raw 13031 0
|
|
31
31
|
virtio_balloon 13168 0
|
32
32
|
floppy 55441 0
|
33
33
|
ENV_LSMOD
|
34
|
+
@version_module = {
|
35
|
+
dm_crypt: "",
|
36
|
+
psmouse: "",
|
37
|
+
acpiphp: "",
|
38
|
+
microcode: "1.2.3",
|
39
|
+
serio_raw: "",
|
40
|
+
virtio_balloon: "",
|
41
|
+
floppy: "",
|
42
|
+
}
|
43
|
+
|
44
|
+
@expected_result = {
|
45
|
+
"dm_crypt" => { "size" => "22321", "refcount" => "0" },
|
46
|
+
"psmouse" => { "size" => "81038", "refcount" => "0" },
|
47
|
+
"acpiphp" => { "size" => "23314", "refcount" => "0" },
|
48
|
+
"microcode" => { "size" => "18286", "refcount" => "0", "version" => "1.2.3" },
|
49
|
+
"serio_raw" => { "size" => "13031", "refcount" => "0" },
|
50
|
+
"virtio_balloon" => { "size" => "13168", "refcount" => "0" },
|
51
|
+
"floppy" => { "size" => "55441", "refcount" => "0" },
|
52
|
+
}
|
34
53
|
@plugin = get_plugin("kernel")
|
35
54
|
allow(@plugin).to receive(:collect_os).and_return(:linux)
|
36
55
|
allow(@plugin).to receive(:init_kernel).and_return({})
|
37
56
|
allow(@plugin).to receive(:shell_out).with("uname -o").and_return(mock_shell_out(0, "Linux", ""))
|
38
57
|
allow(@plugin).to receive(:shell_out).with("env lsmod").and_return(mock_shell_out(0, @env_lsmod, ""))
|
58
|
+
@version_module.each do |mod, vers|
|
59
|
+
allow(File).to receive(:exist?).with("/sys/module/#{mod}/version").and_return(true)
|
60
|
+
allow(File).to receive(:read).with("/sys/module/#{mod}/version").and_return(vers)
|
61
|
+
end
|
39
62
|
expect(@plugin).to receive(:shell_out).with("env lsmod").at_least(1).times
|
40
63
|
@plugin.run
|
41
64
|
end
|
42
65
|
|
43
66
|
it_should_check_from_deep_mash("linux::kernel", "kernel", "os", "uname -o", [0, "Linux", ""])
|
44
67
|
|
68
|
+
it "collects linux::kernel::modules" do
|
69
|
+
expect(@plugin.data["kernel"]["modules"]).to eq(@expected_result)
|
70
|
+
end
|
45
71
|
end
|
@@ -336,6 +336,22 @@ Settings for eth0:
|
|
336
336
|
Current message level: 0x00000007 (7)
|
337
337
|
drv probe link
|
338
338
|
Link detected: yes
|
339
|
+
EOM
|
340
|
+
}
|
341
|
+
|
342
|
+
let(:linux_ethtool_g) { <<-EOM
|
343
|
+
Ring parameters for eth0:
|
344
|
+
Pre-set maximums:
|
345
|
+
RX: 8192
|
346
|
+
RX Mini: 0
|
347
|
+
RX Jumbo: 0
|
348
|
+
TX: 8192
|
349
|
+
Current hardware settings:
|
350
|
+
RX: 8192
|
351
|
+
RX Mini: 0
|
352
|
+
RX Jumbo: 0
|
353
|
+
TX: 8192
|
354
|
+
|
339
355
|
EOM
|
340
356
|
}
|
341
357
|
|
@@ -352,7 +368,8 @@ EOM
|
|
352
368
|
allow(plugin).to receive(:shell_out).with("route -n").and_return(mock_shell_out(0, linux_route_n, ""))
|
353
369
|
allow(plugin).to receive(:shell_out).with("ifconfig -a").and_return(mock_shell_out(0, linux_ifconfig, ""))
|
354
370
|
allow(plugin).to receive(:shell_out).with("arp -an").and_return(mock_shell_out(0, linux_arp_an, ""))
|
355
|
-
allow(plugin).to receive(:shell_out).with(/ethtool/).and_return(mock_shell_out(0,
|
371
|
+
allow(plugin).to receive(:shell_out).with(/ethtool -g/).and_return(mock_shell_out(0, linux_ethtool_g, ""))
|
372
|
+
allow(plugin).to receive(:shell_out).with(/ethtool [^\-]/).and_return(mock_shell_out(0, linux_ethtool, ""))
|
356
373
|
end
|
357
374
|
|
358
375
|
describe "#iproute2_binary_available?" do
|
@@ -554,6 +571,10 @@ EOM
|
|
554
571
|
expect(plugin["network"]["interfaces"]["eth0"]["transceiver"]).to eq("external")
|
555
572
|
expect(plugin["network"]["interfaces"]["eth0"]["auto_negotiation"]).to eq("on")
|
556
573
|
expect(plugin["network"]["interfaces"]["eth0"]["mdi_x"]).to be_nil
|
574
|
+
expect(plugin["network"]["interfaces"]["eth0"]["ring_params"]["max_tx"]).to eq(8192)
|
575
|
+
expect(plugin["network"]["interfaces"]["eth0"]["ring_params"]["max_rx"]).to eq(8192)
|
576
|
+
expect(plugin["network"]["interfaces"]["eth0"]["ring_params"]["current_tx"]).to eq(8192)
|
577
|
+
expect(plugin["network"]["interfaces"]["eth0"]["ring_params"]["current_rx"]).to eq(8192)
|
557
578
|
end
|
558
579
|
|
559
580
|
it "detects the ipv4 addresses of the ethernet interface" do
|
@@ -808,6 +829,10 @@ EOM
|
|
808
829
|
expect(plugin["network"]["interfaces"]["eth3"]["state"]).to eq("up")
|
809
830
|
end
|
810
831
|
|
832
|
+
it "detects tags on v6 addresses of the ethernet interface" do
|
833
|
+
expect(plugin["network"]["interfaces"]["eth0"]["addresses"]["2001:44b8:4160:8f00:a00:27ff:fe13:eacd"]["tags"]).to eq(["dynamic"])
|
834
|
+
end
|
835
|
+
|
811
836
|
describe "when IPv6 is disabled" do
|
812
837
|
before :each do
|
813
838
|
allow(File).to receive(:exist?).with("/proc/net/if_inet6").and_return(false)
|
@@ -217,11 +217,16 @@ describe Ohai::System, "Linux plugin platform" do
|
|
217
217
|
end
|
218
218
|
|
219
219
|
it "should set platform and platform_family to gentoo" do
|
220
|
-
expect(File).to receive(:read).with("/etc/gentoo-release").and_return("Gentoo Base System release 1.20.1.1")
|
221
220
|
@plugin.run
|
222
221
|
expect(@plugin[:platform]).to eq("gentoo")
|
223
222
|
expect(@plugin[:platform_family]).to eq("gentoo")
|
224
223
|
end
|
224
|
+
|
225
|
+
it "should set platform_version to kernel release" do
|
226
|
+
expect(@plugin).to receive(:`).with("uname -r").and_return("3.18.7-gentoo")
|
227
|
+
@plugin.run
|
228
|
+
expect(@plugin[:platform_version]).to eq("3.18.7-gentoo")
|
229
|
+
end
|
225
230
|
end
|
226
231
|
|
227
232
|
describe "on alpine" do
|
@@ -27,6 +27,8 @@ describe Ohai::System, "plugin packages" do
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
let(:format) { '${Package}\t${Version}\t${Architecture}\n' }
|
31
|
+
|
30
32
|
let(:stdout) do
|
31
33
|
File.read(File.join(SPEC_PLUGIN_PATH, "dpkg-query.output"))
|
32
34
|
end
|
@@ -34,20 +36,26 @@ describe Ohai::System, "plugin packages" do
|
|
34
36
|
before(:each) do
|
35
37
|
allow(plugin).to receive(:collect_os).and_return(:linux)
|
36
38
|
allow(plugin).to receive(:shell_out)
|
37
|
-
.with("dpkg-query -W")
|
39
|
+
.with("dpkg-query -W -f='#{format}'")
|
38
40
|
.and_return(mock_shell_out(0, stdout, ""))
|
39
41
|
plugin.run
|
40
42
|
end
|
41
43
|
|
42
44
|
it "calls dpkg query" do
|
43
45
|
expect(plugin).to receive(:shell_out)
|
44
|
-
.with("dpkg-query -W")
|
46
|
+
.with("dpkg-query -W -f='#{format}'")
|
45
47
|
.and_return(mock_shell_out(0, stdout, ""))
|
46
48
|
plugin.run
|
47
49
|
end
|
48
50
|
|
49
|
-
it "gets packages and versions" do
|
50
|
-
expect(plugin[:packages]["
|
51
|
+
it "gets packages and versions - arch" do
|
52
|
+
expect(plugin[:packages]["libc6"][:version]).to eq("2.19-18+deb8u3")
|
53
|
+
expect(plugin[:packages]["libc6"][:arch]).to eq("amd64")
|
54
|
+
end
|
55
|
+
|
56
|
+
it "gets packages and versions - noarch" do
|
57
|
+
expect(plugin[:packages]["tzdata"][:version]).to eq("2015g-0+deb8u1")
|
58
|
+
expect(plugin[:packages]["tzdata"][:arch]).to eq("all")
|
51
59
|
end
|
52
60
|
end
|
53
61
|
|
@@ -58,7 +66,7 @@ describe Ohai::System, "plugin packages" do
|
|
58
66
|
end
|
59
67
|
end
|
60
68
|
|
61
|
-
let(:format) {
|
69
|
+
let(:format) { '%{NAME}\t%|EPOCH?{%{EPOCH}}:{0}|\t%{VERSION}\t%{RELEASE}\t%{INSTALLTIME}\t%{ARCH}\n' }
|
62
70
|
|
63
71
|
let(:stdout) do
|
64
72
|
File.read(File.join(SPEC_PLUGIN_PATH, "rpmquery.output"))
|
@@ -66,20 +74,31 @@ describe Ohai::System, "plugin packages" do
|
|
66
74
|
|
67
75
|
before(:each) do
|
68
76
|
allow(plugin).to receive(:collect_os).and_return(:linux)
|
69
|
-
allow(plugin).to receive(:shell_out).with("rpm -qa --
|
77
|
+
allow(plugin).to receive(:shell_out).with("rpm -qa --qf '#{format}'").and_return(mock_shell_out(0, stdout, ""))
|
70
78
|
plugin.run
|
71
79
|
end
|
72
80
|
|
73
81
|
it "calls rpm -qa" do
|
74
82
|
expect(plugin).to receive(:shell_out)
|
75
|
-
.with("rpm -qa --
|
83
|
+
.with("rpm -qa --qf '#{format}'")
|
76
84
|
.and_return(mock_shell_out(0, stdout, ""))
|
77
85
|
plugin.run
|
78
86
|
end
|
79
87
|
|
80
|
-
it "gets packages and versions/release" do
|
81
|
-
expect(plugin[:packages]["
|
82
|
-
expect(plugin[:packages]["
|
88
|
+
it "gets packages and versions/release - arch" do
|
89
|
+
expect(plugin[:packages]["glibc"][:version]).to eq("2.17")
|
90
|
+
expect(plugin[:packages]["glibc"][:release]).to eq("106.el7_2.6")
|
91
|
+
expect(plugin[:packages]["glibc"][:epoch]).to eq("0")
|
92
|
+
expect(plugin[:packages]["glibc"][:installdate]).to eq("1463486666")
|
93
|
+
expect(plugin[:packages]["glibc"][:arch]).to eq("x86_64")
|
94
|
+
end
|
95
|
+
|
96
|
+
it "gets packages and versions/release - noarch" do
|
97
|
+
expect(plugin[:packages]["tzdata"][:version]).to eq("2016d")
|
98
|
+
expect(plugin[:packages]["tzdata"][:release]).to eq("1.el7")
|
99
|
+
expect(plugin[:packages]["tzdata"][:epoch]).to eq("0")
|
100
|
+
expect(plugin[:packages]["tzdata"][:installdate]).to eq("1463486618")
|
101
|
+
expect(plugin[:packages]["tzdata"][:arch]).to eq("noarch")
|
83
102
|
end
|
84
103
|
end
|
85
104
|
|
@@ -193,6 +212,31 @@ describe Ohai::System, "plugin packages" do
|
|
193
212
|
end
|
194
213
|
end
|
195
214
|
|
215
|
+
context "on freebsd" do
|
216
|
+
let(:plugin) { get_plugin("packages") }
|
217
|
+
|
218
|
+
let(:stdout) do
|
219
|
+
File.read(File.join(SPEC_PLUGIN_PATH, "pkg-query.output"))
|
220
|
+
end
|
221
|
+
|
222
|
+
before(:each) do
|
223
|
+
allow(plugin).to receive(:collect_os).and_return(:freebsd)
|
224
|
+
allow(plugin).to receive(:shell_out).with('pkg query -a "%n %v"').and_return(mock_shell_out(0, stdout, ""))
|
225
|
+
plugin.run
|
226
|
+
end
|
227
|
+
|
228
|
+
it 'calls pkg query -a "%n %v"' do
|
229
|
+
expect(plugin).to receive(:shell_out)
|
230
|
+
.with('pkg query -a "%n %v"')
|
231
|
+
.and_return(mock_shell_out(0, stdout, ""))
|
232
|
+
plugin.run
|
233
|
+
end
|
234
|
+
|
235
|
+
it "gets packages with version" do
|
236
|
+
expect(plugin[:packages]["rubygem-chef"][:version]).to eq("12.6.0_1")
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
196
240
|
context "on solaris2" do
|
197
241
|
let(:plugin) { get_plugin("packages") }
|
198
242
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#
|
2
|
+
# Author:: John Bellone (<jbellone@bloomberg.net>)
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper.rb")
|
19
|
+
|
20
|
+
describe Ohai::System, "timezone plugin" do
|
21
|
+
before(:each) do
|
22
|
+
@plugin = get_plugin("timezone")
|
23
|
+
allow(Time).to receive_message_chain(:now, :getlocal, :zone) { "ZZZ" }
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should get the local timezone" do
|
27
|
+
@plugin.run
|
28
|
+
expect(@plugin["timezone"]).to eq("ZZZ")
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ohai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: systemu
|
@@ -422,6 +422,7 @@ files:
|
|
422
422
|
- lib/ohai/plugins/solaris2/virtualization.rb
|
423
423
|
- lib/ohai/plugins/solaris2/zpools.rb
|
424
424
|
- lib/ohai/plugins/ssh_host_key.rb
|
425
|
+
- lib/ohai/plugins/timezone.rb
|
425
426
|
- lib/ohai/plugins/uptime.rb
|
426
427
|
- lib/ohai/plugins/virtualbox.rb
|
427
428
|
- lib/ohai/plugins/virtualization.rb
|
@@ -460,6 +461,7 @@ files:
|
|
460
461
|
- spec/data/plugins/node.output
|
461
462
|
- spec/data/plugins/perl.output
|
462
463
|
- spec/data/plugins/php.output
|
464
|
+
- spec/data/plugins/pkg-query.output
|
463
465
|
- spec/data/plugins/pkginfo.output
|
464
466
|
- spec/data/plugins/pkglist.output
|
465
467
|
- spec/data/plugins/python.output
|
@@ -593,6 +595,7 @@ files:
|
|
593
595
|
- spec/unit/plugins/solaris2/virtualization_spec.rb
|
594
596
|
- spec/unit/plugins/solaris2/zpools_spec.rb
|
595
597
|
- spec/unit/plugins/ssh_host_keys_spec.rb
|
598
|
+
- spec/unit/plugins/timezone_spec.rb
|
596
599
|
- spec/unit/plugins/virtualbox_spec.rb
|
597
600
|
- spec/unit/plugins/vmware_spec.rb
|
598
601
|
- spec/unit/plugins/windows/cpu_spec.rb
|