ohai 8.10.0 → 8.11.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -2
- data/Rakefile +13 -4
- data/bin/ohai +3 -4
- data/lib/ohai.rb +4 -4
- data/lib/ohai/application.rb +7 -6
- data/lib/ohai/common/dmi.rb +56 -56
- data/lib/ohai/config.rb +12 -8
- data/lib/ohai/dsl.rb +3 -3
- data/lib/ohai/dsl/plugin.rb +5 -5
- data/lib/ohai/dsl/plugin/versionvi.rb +0 -1
- data/lib/ohai/dsl/plugin/versionvii.rb +1 -0
- data/lib/ohai/hints.rb +1 -1
- data/lib/ohai/loader.rb +7 -7
- data/lib/ohai/log.rb +1 -1
- data/lib/ohai/mash.rb +3 -2
- data/lib/ohai/mixin/command.rb +25 -23
- data/lib/ohai/mixin/dmi_decode.rb +10 -10
- data/lib/ohai/mixin/ec2_metadata.rb +40 -39
- data/lib/ohai/mixin/gce_metadata.rb +9 -9
- data/lib/ohai/mixin/network_constants.rb +1 -1
- data/lib/ohai/mixin/os.rb +3 -3
- data/lib/ohai/mixin/seconds_to_human.rb +0 -2
- data/lib/ohai/mixin/softlayer_metadata.rb +10 -10
- data/lib/ohai/mixin/string.rb +2 -2
- data/lib/ohai/plugin_config.rb +1 -1
- data/lib/ohai/plugins/aix/cpu.rb +2 -2
- data/lib/ohai/plugins/aix/filesystem.rb +2 -2
- data/lib/ohai/plugins/aix/memory.rb +2 -2
- data/lib/ohai/plugins/aix/network.rb +9 -10
- data/lib/ohai/plugins/aix/os.rb +2 -2
- data/lib/ohai/plugins/aix/uptime.rb +3 -3
- data/lib/ohai/plugins/aix/virtualization.rb +23 -23
- data/lib/ohai/plugins/azure.rb +32 -5
- data/lib/ohai/plugins/bsd/virtualization.rb +22 -22
- data/lib/ohai/plugins/c.rb +3 -3
- data/lib/ohai/plugins/chef.rb +1 -1
- data/lib/ohai/plugins/cloud.rb +59 -60
- data/lib/ohai/plugins/cloud_v2.rb +37 -39
- data/lib/ohai/plugins/darwin/cpu.rb +1 -1
- data/lib/ohai/plugins/darwin/filesystem2.rb +5 -5
- data/lib/ohai/plugins/darwin/memory.rb +5 -6
- data/lib/ohai/plugins/darwin/network.rb +7 -7
- data/lib/ohai/plugins/darwin/system_profiler.rb +32 -33
- data/lib/ohai/plugins/darwin/virtualization.rb +9 -9
- data/lib/ohai/plugins/digital_ocean.rb +16 -16
- data/lib/ohai/plugins/dmi.rb +6 -6
- data/lib/ohai/plugins/dragonflybsd/cpu.rb +2 -2
- data/lib/ohai/plugins/dragonflybsd/memory.rb +0 -1
- data/lib/ohai/plugins/dragonflybsd/network.rb +4 -4
- data/lib/ohai/plugins/dragonflybsd/os.rb +1 -1
- data/lib/ohai/plugins/ec2.rb +39 -15
- data/lib/ohai/plugins/elixir.rb +1 -1
- data/lib/ohai/plugins/erlang.rb +3 -3
- data/lib/ohai/plugins/eucalyptus.rb +16 -12
- data/lib/ohai/plugins/freebsd/cpu.rb +2 -2
- data/lib/ohai/plugins/freebsd/memory.rb +0 -1
- data/lib/ohai/plugins/freebsd/network.rb +4 -4
- data/lib/ohai/plugins/freebsd/os.rb +1 -1
- data/lib/ohai/plugins/gce.rb +6 -6
- data/lib/ohai/plugins/hostname.rb +7 -7
- data/lib/ohai/plugins/init_package.rb +1 -1
- data/lib/ohai/plugins/ip_scopes.rb +9 -9
- data/lib/ohai/plugins/java.rb +1 -1
- data/lib/ohai/plugins/joyent.rb +7 -7
- data/lib/ohai/plugins/kernel.rb +8 -8
- data/lib/ohai/plugins/linode.rb +7 -4
- data/lib/ohai/plugins/linux/cpu.rb +5 -5
- data/lib/ohai/plugins/linux/filesystem.rb +16 -16
- data/lib/ohai/plugins/linux/filesystem2.rb +15 -15
- data/lib/ohai/plugins/linux/mdadm.rb +3 -3
- data/lib/ohai/plugins/linux/network.rb +85 -51
- data/lib/ohai/plugins/linux/platform.rb +24 -24
- data/lib/ohai/plugins/linux/virtualization.rb +8 -8
- data/lib/ohai/plugins/mono.rb +1 -1
- data/lib/ohai/plugins/netbsd/cpu.rb +1 -1
- data/lib/ohai/plugins/netbsd/network.rb +2 -2
- data/lib/ohai/plugins/network.rb +11 -11
- data/lib/ohai/plugins/network_listeners.rb +30 -26
- data/lib/ohai/plugins/ohai.rb +3 -3
- data/lib/ohai/plugins/openbsd/cpu.rb +4 -4
- data/lib/ohai/plugins/openbsd/memory.rb +4 -4
- data/lib/ohai/plugins/openbsd/network.rb +3 -3
- data/lib/ohai/plugins/openstack.rb +12 -12
- data/lib/ohai/plugins/os.rb +2 -2
- data/lib/ohai/plugins/packages.rb +22 -22
- data/lib/ohai/plugins/passwd.rb +4 -4
- data/lib/ohai/plugins/powershell.rb +9 -9
- data/lib/ohai/plugins/ps.rb +2 -2
- data/lib/ohai/plugins/python.rb +1 -1
- data/lib/ohai/plugins/rackspace.rb +13 -13
- data/lib/ohai/plugins/root_group.rb +4 -4
- data/lib/ohai/plugins/ruby.rb +6 -6
- data/lib/ohai/plugins/rust.rb +1 -1
- data/lib/ohai/plugins/sigar/cpu.rb +1 -1
- data/lib/ohai/plugins/sigar/filesystem.rb +1 -1
- data/lib/ohai/plugins/sigar/network.rb +13 -13
- data/lib/ohai/plugins/sigar/network_route.rb +34 -29
- data/lib/ohai/plugins/softlayer.rb +8 -7
- data/lib/ohai/plugins/solaris2/cpu.rb +19 -19
- data/lib/ohai/plugins/solaris2/dmi.rb +63 -63
- data/lib/ohai/plugins/solaris2/filesystem.rb +13 -13
- data/lib/ohai/plugins/solaris2/memory.rb +2 -2
- data/lib/ohai/plugins/solaris2/network.rb +5 -5
- data/lib/ohai/plugins/solaris2/virtualization.rb +18 -18
- data/lib/ohai/plugins/solaris2/zpools.rb +1 -1
- data/lib/ohai/plugins/ssh_host_key.rb +2 -2
- data/lib/ohai/plugins/uptime.rb +4 -5
- data/lib/ohai/plugins/virtualbox.rb +2 -2
- data/lib/ohai/plugins/virtualization.rb +17 -17
- data/lib/ohai/plugins/vmware.rb +2 -2
- data/lib/ohai/plugins/windows/cpu.rb +14 -14
- data/lib/ohai/plugins/windows/drivers.rb +8 -8
- data/lib/ohai/plugins/windows/filesystem.rb +4 -4
- data/lib/ohai/plugins/windows/memory.rb +1 -1
- data/lib/ohai/plugins/windows/network.rb +10 -10
- data/lib/ohai/plugins/windows/platform.rb +1 -2
- data/lib/ohai/plugins/windows/virtualization.rb +17 -17
- data/lib/ohai/provides_map.rb +7 -7
- data/lib/ohai/runner.rb +3 -3
- data/lib/ohai/system.rb +21 -20
- data/lib/ohai/util/file_helper.rb +1 -2
- data/lib/ohai/util/ip_helper.rb +4 -4
- data/lib/ohai/util/win32.rb +5 -5
- data/lib/ohai/util/win32/group_helper.rb +4 -5
- data/lib/ohai/version.rb +1 -1
- data/ohai.gemspec +7 -5
- data/spec/functional/application_spec.rb +23 -23
- data/spec/functional/loader_spec.rb +1 -1
- data/spec/functional/plugins/powershell_spec.rb +13 -13
- data/spec/functional/plugins/root_group_spec.rb +5 -5
- data/spec/ohai_spec.rb +1 -1
- data/spec/spec_helper.rb +9 -9
- data/spec/support/integration_helper.rb +7 -7
- data/spec/support/platform_helpers.rb +1 -1
- data/spec/unit/application_spec.rb +17 -17
- data/spec/unit/config_spec.rb +2 -2
- data/spec/unit/dsl/plugin_spec.rb +28 -28
- data/spec/unit/hints_spec.rb +3 -3
- data/spec/unit/loader_spec.rb +9 -9
- data/spec/unit/mixin/command_spec.rb +5 -5
- data/spec/unit/mixin/ec2_metadata_spec.rb +6 -6
- data/spec/unit/mixin/softlayer_metadata_spec.rb +19 -23
- data/spec/unit/plugin_config_spec.rb +5 -5
- data/spec/unit/plugins/abort_spec.rb +3 -3
- data/spec/unit/plugins/aix/cpu_spec.rb +1 -1
- data/spec/unit/plugins/aix/filesystem_spec.rb +25 -25
- data/spec/unit/plugins/aix/hostname_spec.rb +1 -2
- data/spec/unit/plugins/aix/kernel_spec.rb +3 -3
- data/spec/unit/plugins/aix/memory_spec.rb +8 -8
- data/spec/unit/plugins/aix/network_spec.rb +38 -38
- data/spec/unit/plugins/aix/os_spec.rb +1 -2
- data/spec/unit/plugins/aix/platform_spec.rb +1 -1
- data/spec/unit/plugins/aix/uptime_spec.rb +1 -1
- data/spec/unit/plugins/aix/virtualization_spec.rb +11 -11
- data/spec/unit/plugins/azure_spec.rb +118 -20
- data/spec/unit/plugins/bsd/filesystem_spec.rb +1 -1
- data/spec/unit/plugins/bsd/virtualization_spec.rb +4 -4
- data/spec/unit/plugins/c_spec.rb +12 -12
- data/spec/unit/plugins/chef_spec.rb +2 -2
- data/spec/unit/plugins/cloud_spec.rb +37 -37
- data/spec/unit/plugins/cloud_v2_spec.rb +64 -65
- data/spec/unit/plugins/darwin/cpu_spec.rb +1 -2
- data/spec/unit/plugins/darwin/filesystem2_spec.rb +7 -7
- data/spec/unit/plugins/darwin/filesystem_spec.rb +5 -5
- data/spec/unit/plugins/darwin/hostname_spec.rb +1 -4
- data/spec/unit/plugins/darwin/kernel_spec.rb +6 -10
- data/spec/unit/plugins/darwin/memory_spec.rb +5 -5
- data/spec/unit/plugins/darwin/network_spec.rb +352 -353
- data/spec/unit/plugins/darwin/platform_spec.rb +1 -2
- data/spec/unit/plugins/darwin/system_profiler_spec.rb +3 -3
- data/spec/unit/plugins/darwin/virtualization_spec.rb +6 -6
- data/spec/unit/plugins/digital_ocean_spec.rb +38 -37
- data/spec/unit/plugins/dmi_spec.rb +3 -3
- data/spec/unit/plugins/ec2_spec.rb +97 -88
- data/spec/unit/plugins/elixir_spec.rb +1 -2
- data/spec/unit/plugins/erlang_spec.rb +2 -2
- data/spec/unit/plugins/eucalyptus_spec.rb +19 -19
- data/spec/unit/plugins/fail_spec.rb +2 -2
- data/spec/unit/plugins/freebsd/cpu_spec.rb +14 -14
- data/spec/unit/plugins/freebsd/hostname_spec.rb +1 -2
- data/spec/unit/plugins/freebsd/kernel_spec.rb +2 -3
- data/spec/unit/plugins/freebsd/os_spec.rb +4 -5
- data/spec/unit/plugins/freebsd/platform_spec.rb +1 -2
- data/spec/unit/plugins/gce_spec.rb +9 -9
- data/spec/unit/plugins/go_spec.rb +1 -1
- data/spec/unit/plugins/groovy_spec.rb +1 -2
- data/spec/unit/plugins/hostname_spec.rb +1 -2
- data/spec/unit/plugins/init_package_spec.rb +1 -1
- data/spec/unit/plugins/ip_scopes_spec.rb +38 -38
- data/spec/unit/plugins/java_spec.rb +52 -1
- data/spec/unit/plugins/joyent_spec.rb +9 -11
- data/spec/unit/plugins/kernel_spec.rb +11 -12
- data/spec/unit/plugins/linode_spec.rb +29 -29
- data/spec/unit/plugins/linux/block_device_spec.rb +21 -21
- data/spec/unit/plugins/linux/cpu_spec.rb +3 -3
- data/spec/unit/plugins/linux/filesystem2_spec.rb +7 -7
- data/spec/unit/plugins/linux/filesystem_spec.rb +85 -86
- data/spec/unit/plugins/linux/hostname_spec.rb +1 -3
- data/spec/unit/plugins/linux/kernel_spec.rb +1 -1
- data/spec/unit/plugins/linux/lsb_spec.rb +1 -2
- data/spec/unit/plugins/linux/mdadm_spec.rb +4 -4
- data/spec/unit/plugins/linux/memory_spec.rb +29 -33
- data/spec/unit/plugins/linux/network_spec.rb +463 -245
- data/spec/unit/plugins/linux/platform_spec.rb +64 -65
- data/spec/unit/plugins/linux/uptime_spec.rb +1 -2
- data/spec/unit/plugins/linux/virtualization_spec.rb +42 -42
- data/spec/unit/plugins/lua_spec.rb +1 -2
- data/spec/unit/plugins/mono_spec.rb +1 -2
- data/spec/unit/plugins/netbsd/hostname_spec.rb +1 -2
- data/spec/unit/plugins/netbsd/kernel_spec.rb +1 -2
- data/spec/unit/plugins/netbsd/platform_spec.rb +1 -1
- data/spec/unit/plugins/network_spec.rb +118 -118
- data/spec/unit/plugins/nodejs_spec.rb +1 -1
- data/spec/unit/plugins/ohai_spec.rb +1 -1
- data/spec/unit/plugins/ohai_time_spec.rb +1 -2
- data/spec/unit/plugins/openbsd/hostname_spec.rb +1 -2
- data/spec/unit/plugins/openbsd/kernel_spec.rb +1 -2
- data/spec/unit/plugins/openbsd/platform_spec.rb +1 -2
- data/spec/unit/plugins/openstack_spec.rb +35 -37
- data/spec/unit/plugins/os_spec.rb +7 -8
- data/spec/unit/plugins/packages_spec.rb +118 -118
- data/spec/unit/plugins/passwd_spec.rb +18 -18
- data/spec/unit/plugins/perl_spec.rb +1 -1
- data/spec/unit/plugins/php_spec.rb +4 -4
- data/spec/unit/plugins/platform_spec.rb +8 -9
- data/spec/unit/plugins/powershell_spec.rb +3 -3
- data/spec/unit/plugins/python_spec.rb +1 -1
- data/spec/unit/plugins/rackspace_spec.rb +66 -68
- data/spec/unit/plugins/root_group_spec.rb +26 -26
- data/spec/unit/plugins/ruby_spec.rb +14 -15
- data/spec/unit/plugins/rust_spec.rb +2 -2
- data/spec/unit/plugins/sigar/network_route_spec.rb +36 -36
- data/spec/unit/plugins/softlayer_spec.rb +10 -10
- data/spec/unit/plugins/solaris2/cpu_spec.rb +20 -21
- data/spec/unit/plugins/solaris2/dmi_spec.rb +5 -6
- data/spec/unit/plugins/solaris2/filesystem.rb +5 -5
- data/spec/unit/plugins/solaris2/hostname_spec.rb +1 -1
- data/spec/unit/plugins/solaris2/kernel_spec.rb +3 -3
- data/spec/unit/plugins/solaris2/memory_spec.rb +5 -5
- data/spec/unit/plugins/solaris2/network_spec.rb +7 -8
- data/spec/unit/plugins/solaris2/platform_spec.rb +1 -1
- data/spec/unit/plugins/solaris2/virtualization_spec.rb +3 -5
- data/spec/unit/plugins/solaris2/zpools_spec.rb +6 -6
- data/spec/unit/plugins/ssh_host_keys_spec.rb +1 -1
- data/spec/unit/plugins/virtualbox_spec.rb +19 -19
- data/spec/unit/plugins/vmware_spec.rb +28 -28
- data/spec/unit/plugins/windows/cpu_spec.rb +46 -48
- data/spec/unit/plugins/windows/memory_spec.rb +5 -5
- data/spec/unit/plugins/windows/virtualization_spec.rb +163 -163
- data/spec/unit/provides_map_spec.rb +10 -10
- data/spec/unit/runner_spec.rb +10 -10
- data/spec/unit/system_spec.rb +19 -19
- data/spec/unit/util/file_helper_spec.rb +5 -6
- data/spec/unit/util/ip_helper_spec.rb +39 -39
- metadata +31 -4
data/lib/ohai/plugins/os.rb
CHANGED
@@ -19,30 +19,30 @@
|
|
19
19
|
#
|
20
20
|
#
|
21
21
|
Ohai.plugin(:Packages) do
|
22
|
-
provides
|
23
|
-
depends
|
22
|
+
provides "packages"
|
23
|
+
depends "platform_family"
|
24
24
|
|
25
25
|
collect_data(:linux) do
|
26
26
|
if configuration(:enabled)
|
27
27
|
packages Mash.new
|
28
|
-
if %w
|
29
|
-
so = shell_out(
|
28
|
+
if %w{debian}.include? platform_family
|
29
|
+
so = shell_out("dpkg-query -W")
|
30
30
|
pkgs = so.stdout.lines
|
31
31
|
|
32
32
|
pkgs.each do |pkg|
|
33
33
|
name, version = pkg.split
|
34
|
-
packages[name] = {
|
34
|
+
packages[name] = { "version" => version }
|
35
35
|
end
|
36
36
|
|
37
|
-
elsif %w
|
38
|
-
require
|
37
|
+
elsif %w{rhel fedora suse}.include? platform_family
|
38
|
+
require "shellwords"
|
39
39
|
format = Shellwords.escape '%{NAME}\t%{VERSION}\t%{RELEASE}\n'
|
40
40
|
so = shell_out("rpm -qa --queryformat #{format}")
|
41
41
|
pkgs = so.stdout.lines
|
42
42
|
|
43
43
|
pkgs.each do |pkg|
|
44
44
|
name, version, release = pkg.split
|
45
|
-
packages[name] = {
|
45
|
+
packages[name] = { "version" => version, "release" => release }
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -51,15 +51,15 @@ Ohai.plugin(:Packages) do
|
|
51
51
|
collect_data(:windows) do
|
52
52
|
if configuration(:enabled)
|
53
53
|
packages Mash.new
|
54
|
-
require
|
54
|
+
require "wmi-lite"
|
55
55
|
|
56
56
|
wmi = WmiLite::Wmi.new
|
57
|
-
w32_product = wmi.instances_of(
|
57
|
+
w32_product = wmi.instances_of("Win32_Product")
|
58
58
|
|
59
59
|
w32_product.find_all.each do |product|
|
60
|
-
name = product[
|
60
|
+
name = product["name"]
|
61
61
|
package = packages[name] = Mash.new
|
62
|
-
%w
|
62
|
+
%w{version vendor installdate}.each do |attr|
|
63
63
|
package[attr] = product[attr]
|
64
64
|
end
|
65
65
|
end
|
@@ -69,21 +69,21 @@ Ohai.plugin(:Packages) do
|
|
69
69
|
collect_data(:aix) do
|
70
70
|
if configuration(:enabled)
|
71
71
|
packages Mash.new
|
72
|
-
so = shell_out(
|
72
|
+
so = shell_out("lslpp -L -q -c")
|
73
73
|
pkgs = so.stdout.lines
|
74
74
|
|
75
75
|
# Output format is
|
76
76
|
# Package Name:Fileset:Level
|
77
77
|
# On aix, filesets are packages and levels are versions
|
78
78
|
pkgs.each do |pkg|
|
79
|
-
_, name, version = pkg.split(
|
80
|
-
packages[name] = {
|
79
|
+
_, name, version = pkg.split(":")
|
80
|
+
packages[name] = { "version" => version }
|
81
81
|
end
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
85
|
def collect_ips_packages
|
86
|
-
so = shell_out(
|
86
|
+
so = shell_out("pkg list -H")
|
87
87
|
# Output format is
|
88
88
|
# NAME (PUBLISHER) VERSION IFO
|
89
89
|
so.stdout.lines.each do |pkg|
|
@@ -94,13 +94,13 @@ Ohai.plugin(:Packages) do
|
|
94
94
|
name, publisher, version, = tokens
|
95
95
|
publisher = publisher[1..-2]
|
96
96
|
end
|
97
|
-
packages[name] = {
|
98
|
-
packages[name][
|
97
|
+
packages[name] = { "version" => version }
|
98
|
+
packages[name]["publisher"] = publisher if publisher
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
102
|
def collect_sysv_packages
|
103
|
-
so = shell_out(
|
103
|
+
so = shell_out("pkginfo -l")
|
104
104
|
# Each package info is separated by a blank line
|
105
105
|
chunked_lines = so.stdout.lines.map(&:strip).chunk do |line|
|
106
106
|
!line.empty? || nil
|
@@ -108,12 +108,12 @@ Ohai.plugin(:Packages) do
|
|
108
108
|
chunked_lines.each do |_, lines|
|
109
109
|
package = {}
|
110
110
|
lines.each do |line|
|
111
|
-
key, value = line.split(
|
111
|
+
key, value = line.split(":", 2)
|
112
112
|
package[key.strip.downcase] = value.strip unless value.nil?
|
113
113
|
end
|
114
114
|
# pkginst is the installed package name
|
115
|
-
packages[package[
|
116
|
-
p.delete(
|
115
|
+
packages[package["pkginst"]] = package.tap do |p|
|
116
|
+
p.delete("pkginst")
|
117
117
|
end
|
118
118
|
end
|
119
119
|
end
|
data/lib/ohai/plugins/passwd.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
|
2
|
-
require
|
2
|
+
require "etc"
|
3
3
|
|
4
4
|
Ohai.plugin(:Passwd) do
|
5
|
-
provides
|
5
|
+
provides "etc", "current_user"
|
6
6
|
|
7
7
|
def fix_encoding(str)
|
8
8
|
str.force_encoding(Encoding.default_external) if str.respond_to?(:force_encoding)
|
@@ -18,14 +18,14 @@ Ohai.plugin(:Passwd) do
|
|
18
18
|
|
19
19
|
Etc.passwd do |entry|
|
20
20
|
user_passwd_entry = Mash.new(:dir => entry.dir, :gid => entry.gid, :uid => entry.uid, :shell => entry.shell, :gecos => entry.gecos)
|
21
|
-
user_passwd_entry.each_value {|v| fix_encoding(v)}
|
21
|
+
user_passwd_entry.each_value { |v| fix_encoding(v) }
|
22
22
|
entry_name = fix_encoding(entry.name)
|
23
23
|
etc[:passwd][entry_name] = user_passwd_entry unless etc[:passwd].has_key?(entry_name)
|
24
24
|
end
|
25
25
|
|
26
26
|
Etc.group do |entry|
|
27
27
|
group_entry = Mash.new(:gid => entry.gid,
|
28
|
-
:members => entry.mem.map {|u| fix_encoding(u)})
|
28
|
+
:members => entry.mem.map { |u| fix_encoding(u) })
|
29
29
|
|
30
30
|
etc[:group][fix_encoding(entry.name)] = group_entry
|
31
31
|
end
|
@@ -40,21 +40,21 @@ Ohai.plugin(:Powershell) do
|
|
40
40
|
kv = line.strip.split(/\s+/, 2)
|
41
41
|
version_info[kv[0]] = kv[1] if kv.length == 2
|
42
42
|
end
|
43
|
-
powershell[:version] = version_info[
|
44
|
-
powershell[:ws_man_stack_version] = version_info[
|
45
|
-
powershell[:serialization_version] = version_info[
|
46
|
-
powershell[:clr_version] = version_info[
|
47
|
-
powershell[:build_version] = version_info[
|
48
|
-
powershell[:compatible_versions] = parse_compatible_versions(version_info[
|
49
|
-
powershell[:remoting_protocol_version] = version_info[
|
43
|
+
powershell[:version] = version_info["PSVersion"]
|
44
|
+
powershell[:ws_man_stack_version] = version_info["WSManStackVersion"]
|
45
|
+
powershell[:serialization_version] = version_info["SerializationVersion"]
|
46
|
+
powershell[:clr_version] = version_info["CLRVersion"]
|
47
|
+
powershell[:build_version] = version_info["BuildVersion"]
|
48
|
+
powershell[:compatible_versions] = parse_compatible_versions(version_info["PSCompatibleVersions"])
|
49
|
+
powershell[:remoting_protocol_version] = version_info["PSRemotingProtocolVersion"]
|
50
50
|
languages[:powershell] = powershell if powershell[:version]
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
def parse_compatible_versions(versions_str)
|
55
55
|
if versions_str
|
56
|
-
if versions_str.strip.start_with?(
|
57
|
-
versions = versions_str.gsub(/[{}\s]+/,
|
56
|
+
if versions_str.strip.start_with?("{") && versions_str.end_with?("}")
|
57
|
+
versions = versions_str.gsub(/[{}\s]+/, "").split(",")
|
58
58
|
versions if versions.length
|
59
59
|
end
|
60
60
|
end
|
data/lib/ohai/plugins/ps.rb
CHANGED
@@ -24,11 +24,11 @@ Ohai.plugin(:PS) do
|
|
24
24
|
depends "command"
|
25
25
|
|
26
26
|
collect_data(:aix, :darwin, :hpux, :linux, :solaris2) do
|
27
|
-
command[:ps] =
|
27
|
+
command[:ps] = "ps -ef"
|
28
28
|
end
|
29
29
|
|
30
30
|
collect_data(:freebsd, :netbsd, :openbsd, :dragonflybsd) do
|
31
31
|
# ps -e requires procfs
|
32
|
-
command[:ps] =
|
32
|
+
command[:ps] = "ps -axww"
|
33
33
|
end
|
34
34
|
end
|
data/lib/ohai/plugins/python.rb
CHANGED
@@ -32,7 +32,7 @@ Ohai.plugin(:Python) do
|
|
32
32
|
output = so.stdout.split
|
33
33
|
python[:version] = output[0]
|
34
34
|
if output.length >= 6
|
35
|
-
python[:builddate] = "%s %s %s %s" % [output[2],output[3],output[4],output[5].gsub!(/\)/,
|
35
|
+
python[:builddate] = "%s %s %s %s" % [output[2], output[3], output[4], output[5].gsub!(/\)/, "")]
|
36
36
|
end
|
37
37
|
|
38
38
|
languages[:python] = python if python[:version] and python[:builddate]
|
@@ -27,7 +27,7 @@ Ohai.plugin(:Rackspace) do
|
|
27
27
|
# true:: If kernel name matches
|
28
28
|
# false:: Otherwise
|
29
29
|
def has_rackspace_kernel?
|
30
|
-
kernel[:release].split(
|
30
|
+
kernel[:release].split("-").last.eql?("rscloud")
|
31
31
|
end
|
32
32
|
|
33
33
|
# Checks for rackspace provider attribute
|
@@ -38,7 +38,7 @@ Ohai.plugin(:Rackspace) do
|
|
38
38
|
def has_rackspace_metadata?
|
39
39
|
so = shell_out("xenstore-read vm-data/provider_data/provider")
|
40
40
|
if so.exitstatus == 0
|
41
|
-
so.stdout.strip.downcase ==
|
41
|
+
so.stdout.strip.downcase == "rackspace"
|
42
42
|
end
|
43
43
|
rescue Errno::ENOENT
|
44
44
|
false
|
@@ -50,7 +50,7 @@ Ohai.plugin(:Rackspace) do
|
|
50
50
|
# true:: If the rackspace cloud can be identified
|
51
51
|
# false:: Otherwise
|
52
52
|
def looks_like_rackspace?
|
53
|
-
hint?(
|
53
|
+
hint?("rackspace") || has_rackspace_metadata? || has_rackspace_kernel?
|
54
54
|
end
|
55
55
|
|
56
56
|
# Names rackspace ip address
|
@@ -60,7 +60,7 @@ Ohai.plugin(:Rackspace) do
|
|
60
60
|
# eth<Symbol>:: Interface name of public or private ip
|
61
61
|
def get_ip_address(name, eth)
|
62
62
|
network[:interfaces][eth][:addresses].each do |key, info|
|
63
|
-
if info[
|
63
|
+
if info["family"] == "inet"
|
64
64
|
rackspace[name] = key
|
65
65
|
break # break when we found an address
|
66
66
|
end
|
@@ -75,7 +75,7 @@ Ohai.plugin(:Rackspace) do
|
|
75
75
|
def get_global_ipv6_address(name, eth)
|
76
76
|
network[:interfaces][eth][:addresses].each do |key, info|
|
77
77
|
# check if we got an ipv6 address and if its in global scope
|
78
|
-
if info[
|
78
|
+
if info["family"] == "inet6" && info["scope"] == "Global"
|
79
79
|
rackspace[name] = key
|
80
80
|
break # break when we found an address
|
81
81
|
end
|
@@ -92,7 +92,7 @@ Ohai.plugin(:Rackspace) do
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
rescue Errno::ENOENT
|
95
|
-
Ohai::Log.debug("Unable to find xenstore-ls, cannot capture region information for Rackspace cloud")
|
95
|
+
Ohai::Log.debug("rackspace plugin: Unable to find xenstore-ls, cannot capture region information for Rackspace cloud")
|
96
96
|
nil
|
97
97
|
end
|
98
98
|
|
@@ -104,31 +104,31 @@ Ohai.plugin(:Rackspace) do
|
|
104
104
|
rackspace[:instance_id] = so.stdout.gsub(/instance-/, "")
|
105
105
|
end
|
106
106
|
rescue Errno::ENOENT
|
107
|
-
Ohai::Log.debug("Unable to find xenstore-read, cannot capture instance ID information for Rackspace cloud")
|
107
|
+
Ohai::Log.debug("rackspace plugin: Unable to find xenstore-read, cannot capture instance ID information for Rackspace cloud")
|
108
108
|
nil
|
109
109
|
end
|
110
110
|
|
111
111
|
# Get the rackspace private networks
|
112
112
|
#
|
113
113
|
def get_private_networks()
|
114
|
-
so = shell_out(
|
114
|
+
so = shell_out("xenstore-ls vm-data/networking")
|
115
115
|
if so.exitstatus == 0
|
116
116
|
networks = []
|
117
|
-
so.stdout.split("\n").map{|l| l.split(
|
117
|
+
so.stdout.split("\n").map { |l| l.split("=").first.strip }.map do |item|
|
118
118
|
_so = shell_out("xenstore-read vm-data/networking/#{item}")
|
119
119
|
if _so.exitstatus == 0
|
120
120
|
networks.push(FFI_Yajl::Parser.new.parse(_so.stdout))
|
121
121
|
else
|
122
|
-
Ohai::Log.debug(
|
122
|
+
Ohai::Log.debug("rackspace plugin: Unable to capture custom private networking information for Rackspace cloud")
|
123
123
|
return false
|
124
124
|
end
|
125
125
|
end
|
126
126
|
# these networks are already known to ohai, and are not 'private networks'
|
127
|
-
networks.delete_if { |hash| hash[
|
128
|
-
networks.delete_if { |hash| hash[
|
127
|
+
networks.delete_if { |hash| hash["label"] == "private" }
|
128
|
+
networks.delete_if { |hash| hash["label"] == "public" }
|
129
129
|
end
|
130
130
|
rescue Errno::ENOENT
|
131
|
-
Ohai::Log.debug(
|
131
|
+
Ohai::Log.debug("rackspace plugin: Unable to capture custom private networking information for Rackspace cloud")
|
132
132
|
nil
|
133
133
|
end
|
134
134
|
|
@@ -16,17 +16,17 @@
|
|
16
16
|
# limitations under the License.
|
17
17
|
|
18
18
|
Ohai.plugin(:RootGroup) do
|
19
|
-
provides
|
19
|
+
provides "root_group"
|
20
20
|
|
21
|
-
require
|
21
|
+
require "ohai/util/win32/group_helper" if RUBY_PLATFORM =~ /mswin|mingw32|windows/
|
22
22
|
|
23
23
|
collect_data do
|
24
|
-
case ::RbConfig::CONFIG[
|
24
|
+
case ::RbConfig::CONFIG["host_os"]
|
25
25
|
when /mswin|mingw32|windows/
|
26
26
|
group = Ohai::Util::Win32::GroupHelper.windows_root_group_name
|
27
27
|
root_group group
|
28
28
|
else
|
29
|
-
root_group Etc.getgrgid(Etc.getpwnam(
|
29
|
+
root_group Etc.getgrgid(Etc.getpwnam("root").gid).name
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
data/lib/ohai/plugins/ruby.rb
CHANGED
@@ -43,7 +43,7 @@ Ohai.plugin(:Ruby) do
|
|
43
43
|
:host_os => "RbConfig::CONFIG['host_os']",
|
44
44
|
:host_vendor => "RbConfig::CONFIG['host_vendor']",
|
45
45
|
:bin_dir => "RbConfig::CONFIG['bindir']",
|
46
|
-
:ruby_bin => "::File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])"
|
46
|
+
:ruby_bin => "::File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])",
|
47
47
|
}
|
48
48
|
|
49
49
|
# Create a query string from above hash
|
@@ -56,8 +56,8 @@ Ohai.plugin(:Ruby) do
|
|
56
56
|
result = run_ruby "puts %Q(#{env_string})"
|
57
57
|
|
58
58
|
# Parse results to plugin hash
|
59
|
-
result.split(
|
60
|
-
key, value = entry.split(
|
59
|
+
result.split(",").each do |entry|
|
60
|
+
key, value = entry.split("=")
|
61
61
|
languages[:ruby][key.to_sym] = value || ""
|
62
62
|
end
|
63
63
|
|
@@ -66,9 +66,9 @@ Ohai.plugin(:Ruby) do
|
|
66
66
|
ruby_bin = languages[:ruby][:ruby_bin]
|
67
67
|
gem_binaries = [
|
68
68
|
run_ruby("require 'rubygems'; puts ::Gem.default_exec_format % 'gem'"),
|
69
|
-
"gem"
|
70
|
-
].map {|bin| ::File.join(bin_dir, bin)}
|
71
|
-
gem_binary = gem_binaries.find {|bin| ::File.exists? bin }
|
69
|
+
"gem",
|
70
|
+
].map { |bin| ::File.join(bin_dir, bin) }
|
71
|
+
gem_binary = gem_binaries.find { |bin| ::File.exists? bin }
|
72
72
|
if gem_binary
|
73
73
|
languages[:ruby][:gems_dir] = run_ruby "puts %x{#{ruby_bin} #{gem_binary} env gemdir}.chomp!"
|
74
74
|
languages[:ruby][:gem_bin] = gem_binary
|
data/lib/ohai/plugins/rust.rb
CHANGED
@@ -36,7 +36,7 @@ Ohai.plugin(:Filesystem) do
|
|
36
36
|
fs[filesystem][:kb_size] = (usage.total / 1024).to_s
|
37
37
|
fs[filesystem][:kb_used] = ((usage.total - usage.free) / 1024).to_s
|
38
38
|
fs[filesystem][:kb_available] = (usage.free / 1024).to_s
|
39
|
-
fs[filesystem][:percent_used] = (usage.use_percent * 100).to_s +
|
39
|
+
fs[filesystem][:percent_used] = (usage.use_percent * 100).to_s + "%"
|
40
40
|
rescue SystemExit => e
|
41
41
|
raise
|
42
42
|
rescue Exception => e
|
@@ -16,7 +16,7 @@
|
|
16
16
|
# limitations under the License.
|
17
17
|
#
|
18
18
|
|
19
|
-
require
|
19
|
+
require "ohai/mixin/network_constants"
|
20
20
|
|
21
21
|
Ohai.plugin(:Network) do
|
22
22
|
include Ohai::Mixin::NetworkConstants
|
@@ -57,8 +57,8 @@ Ohai.plugin(:Network) do
|
|
57
57
|
if ifconfig.address != "0.0.0.0"
|
58
58
|
iface[cint][:addresses][ifconfig.address] = { "family" => "inet" }
|
59
59
|
# Backwards compat: no broadcast on tunnel or loopback dev
|
60
|
-
if ((
|
61
|
-
((ifconfig.flags & Sigar::IFF_LOOPBACK) == 0)
|
60
|
+
if ((ifconfig.flags & Sigar::IFF_POINTOPOINT) == 0) &&
|
61
|
+
((ifconfig.flags & Sigar::IFF_LOOPBACK) == 0)
|
62
62
|
iface[cint][:addresses][ifconfig.address]["broadcast"] = ifconfig.broadcast
|
63
63
|
end
|
64
64
|
iface[cint][:addresses][ifconfig.address]["netmask"] = ifconfig.netmask
|
@@ -70,20 +70,20 @@ Ohai.plugin(:Network) do
|
|
70
70
|
iface[cint][:addresses][ifconfig.address6]["scope"] = Sigar.net_scope_to_s(ifconfig.scope6)
|
71
71
|
end
|
72
72
|
|
73
|
-
iface[cint][:flags] = Sigar.net_interface_flags_to_s(ifconfig.flags).split(
|
73
|
+
iface[cint][:flags] = Sigar.net_interface_flags_to_s(ifconfig.flags).split(" ")
|
74
74
|
iface[cint][:mtu] = ifconfig.mtu.to_s
|
75
75
|
iface[cint][:queuelen] = ifconfig.tx_queue_len.to_s
|
76
76
|
|
77
77
|
net_counters[cint] = Mash.new unless net_counters[cint]
|
78
|
-
if
|
78
|
+
if !cint.include?(":")
|
79
79
|
ifstat = sigar.net_interface_stat(cint)
|
80
80
|
net_counters[cint][:rx] = { "packets" => ifstat.rx_packets.to_s, "errors" => ifstat.rx_errors.to_s,
|
81
|
-
|
82
|
-
|
81
|
+
"drop" => ifstat.rx_dropped.to_s, "overrun" => ifstat.rx_overruns.to_s,
|
82
|
+
"frame" => ifstat.rx_frame.to_s, "bytes" => ifstat.rx_bytes.to_s }
|
83
83
|
net_counters[cint][:tx] = { "packets" => ifstat.tx_packets.to_s, "errors" => ifstat.tx_errors.to_s,
|
84
|
-
|
85
|
-
|
86
|
-
|
84
|
+
"drop" => ifstat.tx_dropped.to_s, "overrun" => ifstat.tx_overruns.to_s,
|
85
|
+
"carrier" => ifstat.tx_carrier.to_s, "collisions" => ifstat.tx_collisions.to_s,
|
86
|
+
"bytes" => ifstat.tx_bytes.to_s }
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
@@ -154,12 +154,12 @@ Ohai.plugin(:Network) do
|
|
154
154
|
next unless network[:interfaces][route.ifname] # this
|
155
155
|
# should never happen
|
156
156
|
network[:interfaces][route.ifname][:route] = Mash.new unless network[:interfaces][route.ifname][:route]
|
157
|
-
route_data={}
|
157
|
+
route_data = {}
|
158
158
|
Ohai::Mixin::NetworkConstants::SIGAR_ROUTE_METHODS.each do |m|
|
159
159
|
if(m == :flags)
|
160
|
-
route_data[m]=flags(route.send(m))
|
160
|
+
route_data[m] = flags(route.send(m))
|
161
161
|
else
|
162
|
-
route_data[m]=route.send(m)
|
162
|
+
route_data[m] = route.send(m)
|
163
163
|
end
|
164
164
|
end
|
165
165
|
network[:interfaces][route.ifname][:route][route.destination] = route_data
|