ohai 16.5.4 → 16.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +7 -8
- data/bin/ohai +1 -0
- data/lib/ohai.rb +1 -0
- data/lib/ohai/application.rb +40 -0
- data/lib/ohai/common/dmi.rb +8 -3
- data/lib/ohai/config.rb +1 -0
- data/lib/ohai/dsl.rb +1 -0
- data/lib/ohai/dsl/plugin.rb +9 -1
- data/lib/ohai/dsl/plugin/versionvii.rb +28 -17
- data/lib/ohai/exception.rb +1 -0
- data/lib/ohai/hints.rb +1 -0
- data/lib/ohai/log.rb +1 -0
- data/lib/ohai/mash.rb +1 -0
- data/lib/ohai/mixin/azure_metadata.rb +4 -3
- data/lib/ohai/mixin/chef_utils_wiring.rb +14 -1
- data/lib/ohai/mixin/command.rb +1 -0
- data/lib/ohai/mixin/constant_helper.rb +1 -0
- data/lib/ohai/mixin/dmi_decode.rb +1 -0
- data/lib/ohai/mixin/do_metadata.rb +3 -2
- data/lib/ohai/mixin/ec2_metadata.rb +10 -9
- data/lib/ohai/mixin/gce_metadata.rb +4 -3
- data/lib/ohai/mixin/http_helper.rb +1 -0
- data/lib/ohai/mixin/network_helper.rb +1 -0
- data/lib/ohai/mixin/os.rb +67 -1
- data/lib/ohai/mixin/scaleway_metadata.rb +3 -2
- data/lib/ohai/mixin/seconds_to_human.rb +1 -0
- data/lib/ohai/mixin/shell_out.rb +1 -0
- data/lib/ohai/mixin/softlayer_metadata.rb +2 -1
- data/lib/ohai/mixin/string.rb +1 -0
- data/lib/ohai/mixin/train_helpers.rb +36 -0
- data/lib/ohai/mixin/which.rb +1 -0
- data/lib/ohai/plugin_config.rb +1 -0
- data/lib/ohai/plugins/aix/kernel.rb +7 -4
- data/lib/ohai/plugins/aix/memory.rb +4 -3
- data/lib/ohai/plugins/aix/network.rb +51 -58
- data/lib/ohai/plugins/aix/platform.rb +3 -2
- data/lib/ohai/plugins/aix/uptime.rb +3 -2
- data/lib/ohai/plugins/aix/virtualization.rb +6 -6
- data/lib/ohai/plugins/azure.rb +25 -4
- data/lib/ohai/plugins/bsd/virtualization.rb +3 -2
- data/lib/ohai/plugins/c.rb +4 -3
- data/lib/ohai/plugins/chef.rb +2 -1
- data/lib/ohai/plugins/cloud.rb +2 -1
- data/lib/ohai/plugins/command.rb +1 -0
- data/lib/ohai/plugins/cpu.rb +31 -32
- data/lib/ohai/plugins/darwin/hardware.rb +1 -0
- data/lib/ohai/plugins/darwin/memory.rb +2 -3
- data/lib/ohai/plugins/darwin/network.rb +8 -9
- data/lib/ohai/plugins/darwin/platform.rb +1 -0
- data/lib/ohai/plugins/darwin/virtualization.rb +2 -1
- data/lib/ohai/plugins/digital_ocean.rb +3 -1
- data/lib/ohai/plugins/dmi.rb +6 -5
- data/lib/ohai/plugins/docker.rb +2 -1
- data/lib/ohai/plugins/dragonflybsd/memory.rb +9 -8
- data/lib/ohai/plugins/dragonflybsd/network.rb +1 -0
- data/lib/ohai/plugins/dragonflybsd/platform.rb +3 -2
- data/lib/ohai/plugins/ec2.rb +14 -7
- data/lib/ohai/plugins/elixir.rb +1 -1
- data/lib/ohai/plugins/erlang.rb +1 -0
- data/lib/ohai/plugins/eucalyptus.rb +4 -1
- data/lib/ohai/plugins/filesystem.rb +4 -4
- data/lib/ohai/plugins/fips.rb +1 -0
- data/lib/ohai/plugins/freebsd/memory.rb +9 -8
- data/lib/ohai/plugins/freebsd/network.rb +1 -0
- data/lib/ohai/plugins/freebsd/platform.rb +3 -2
- data/lib/ohai/plugins/gce.rb +3 -2
- data/lib/ohai/plugins/go.rb +1 -1
- data/lib/ohai/plugins/groovy.rb +1 -1
- data/lib/ohai/plugins/grub2.rb +40 -0
- data/lib/ohai/plugins/haskell.rb +1 -0
- data/lib/ohai/plugins/hostname.rb +2 -2
- data/lib/ohai/plugins/init_package.rb +2 -1
- data/lib/ohai/plugins/java.rb +1 -0
- data/lib/ohai/plugins/kernel.rb +14 -11
- data/lib/ohai/plugins/keys.rb +1 -0
- data/lib/ohai/plugins/languages.rb +1 -0
- data/lib/ohai/plugins/libvirt.rb +4 -3
- data/lib/ohai/plugins/linode.rb +22 -14
- data/lib/ohai/plugins/linux/block_device.rb +9 -8
- data/lib/ohai/plugins/linux/hostnamectl.rb +3 -2
- data/lib/ohai/plugins/linux/interrupts.rb +4 -3
- data/lib/ohai/plugins/linux/ipc.rb +2 -1
- data/lib/ohai/plugins/linux/lsb.rb +7 -20
- data/lib/ohai/plugins/linux/lspci.rb +1 -1
- data/lib/ohai/plugins/linux/machineid.rb +5 -4
- data/lib/ohai/plugins/linux/mdadm.rb +3 -2
- data/lib/ohai/plugins/linux/memory.rb +38 -37
- data/lib/ohai/plugins/linux/network.rb +7 -6
- data/lib/ohai/plugins/linux/platform.rb +31 -30
- data/lib/ohai/plugins/linux/selinux.rb +1 -0
- data/lib/ohai/plugins/linux/sessions.rb +1 -0
- data/lib/ohai/plugins/linux/sysctl.rb +1 -0
- data/lib/ohai/plugins/linux/systemd_paths.rb +1 -0
- data/lib/ohai/plugins/linux/virtualization.rb +24 -23
- data/lib/ohai/plugins/lua.rb +1 -1
- data/lib/ohai/plugins/mono.rb +1 -1
- data/lib/ohai/plugins/netbsd/memory.rb +1 -0
- data/lib/ohai/plugins/netbsd/network.rb +1 -0
- data/lib/ohai/plugins/netbsd/platform.rb +3 -2
- data/lib/ohai/plugins/network.rb +2 -1
- data/lib/ohai/plugins/nodejs.rb +1 -1
- data/lib/ohai/plugins/ohai.rb +1 -0
- data/lib/ohai/plugins/ohai_time.rb +2 -1
- data/lib/ohai/plugins/openbsd/memory.rb +1 -0
- data/lib/ohai/plugins/openbsd/network.rb +1 -0
- data/lib/ohai/plugins/openbsd/platform.rb +3 -2
- data/lib/ohai/plugins/openstack.rb +1 -0
- data/lib/ohai/plugins/os.rb +6 -1
- data/lib/ohai/plugins/packages.rb +2 -1
- data/lib/ohai/plugins/passwd.rb +58 -1
- data/lib/ohai/plugins/perl.rb +1 -1
- data/lib/ohai/plugins/php.rb +1 -1
- data/lib/ohai/plugins/platform.rb +1 -0
- data/lib/ohai/plugins/powershell.rb +1 -1
- data/lib/ohai/plugins/ps.rb +1 -0
- data/lib/ohai/plugins/python.rb +1 -1
- data/lib/ohai/plugins/rackspace.rb +6 -5
- data/lib/ohai/plugins/root_group.rb +1 -0
- data/lib/ohai/plugins/ruby.rb +3 -2
- data/lib/ohai/plugins/rust.rb +1 -1
- data/lib/ohai/plugins/scala.rb +1 -0
- data/lib/ohai/plugins/scaleway.rb +3 -2
- data/lib/ohai/plugins/scsi.rb +1 -1
- data/lib/ohai/plugins/shard.rb +1 -1
- data/lib/ohai/plugins/shells.rb +3 -2
- data/lib/ohai/plugins/softlayer.rb +1 -0
- data/lib/ohai/plugins/solaris2/dmi.rb +2 -1
- data/lib/ohai/plugins/solaris2/memory.rb +1 -0
- data/lib/ohai/plugins/solaris2/network.rb +2 -1
- data/lib/ohai/plugins/solaris2/platform.rb +8 -14
- data/lib/ohai/plugins/solaris2/virtualization.rb +4 -4
- data/lib/ohai/plugins/ssh_host_key.rb +13 -12
- data/lib/ohai/plugins/sysconf.rb +1 -0
- data/lib/ohai/plugins/timezone.rb +1 -0
- data/lib/ohai/plugins/train.rb +35 -0
- data/lib/ohai/plugins/uptime.rb +2 -1
- data/lib/ohai/plugins/virtualbox.rb +2 -1
- data/lib/ohai/plugins/vmware.rb +3 -3
- data/lib/ohai/plugins/windows/dmi.rb +1 -0
- data/lib/ohai/plugins/windows/drivers.rb +1 -0
- data/lib/ohai/plugins/windows/memory.rb +1 -0
- data/lib/ohai/plugins/windows/network.rb +2 -1
- data/lib/ohai/plugins/windows/platform.rb +1 -0
- data/lib/ohai/plugins/windows/system_enclosure.rb +1 -0
- data/lib/ohai/plugins/windows/virtualization.rb +1 -0
- data/lib/ohai/plugins/zpools.rb +5 -3
- data/lib/ohai/provides_map.rb +1 -0
- data/lib/ohai/runner.rb +7 -4
- data/lib/ohai/system.rb +33 -4
- data/lib/ohai/train_transport.rb +29 -0
- data/lib/ohai/util/file_helper.rb +1 -0
- data/lib/ohai/util/ip_helper.rb +2 -1
- data/lib/ohai/util/win32.rb +1 -0
- data/lib/ohai/version.rb +2 -1
- data/ohai.gemspec +3 -1
- metadata +21 -4
- data/lib/ohai/plugins/joyent.rb +0 -77
data/lib/ohai/plugins/os.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
4
|
# Author:: Isa Farnik (<isa@chef.io>)
|
@@ -34,7 +35,11 @@ Ohai.plugin(:OS) do
|
|
34
35
|
|
35
36
|
# This is __DragonFly_version / __FreeBSD_version. See sys/param.h or
|
36
37
|
# http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html.
|
37
|
-
os_version shell_out("sysctl -n kern.osreldate").stdout.
|
38
|
+
os_version shell_out("sysctl -n kern.osreldate").stdout.strip
|
39
|
+
end
|
40
|
+
|
41
|
+
collect_data(:target) do
|
42
|
+
os collect_os
|
38
43
|
end
|
39
44
|
|
40
45
|
collect_data do
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# Author:: "Christian Höltje" <choltje@us.ibm.com>
|
2
3
|
# Author:: "Christopher M. Luciano" <cmlucian@us.ibm.com>
|
3
4
|
# Author:: Shahul Khajamohideen (<skhajamohid1@bloomberg.net>)
|
@@ -163,7 +164,7 @@ Ohai.plugin(:Packages) do
|
|
163
164
|
# Output format is
|
164
165
|
# name version
|
165
166
|
so.stdout.lines do |pkg|
|
166
|
-
name, version = pkg.split
|
167
|
+
name, version = pkg.split
|
167
168
|
packages[name] = { "version" => version }
|
168
169
|
end
|
169
170
|
end
|
data/lib/ohai/plugins/passwd.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
Ohai.plugin(:Passwd) do
|
3
4
|
provides "etc", "current_user"
|
@@ -42,6 +43,62 @@ Ohai.plugin(:Passwd) do
|
|
42
43
|
end
|
43
44
|
|
44
45
|
collect_data(:windows) do
|
45
|
-
|
46
|
+
require "wmi-lite/wmi" unless defined?(WmiLite::Wmi)
|
47
|
+
|
48
|
+
unless etc
|
49
|
+
etc Mash.new
|
50
|
+
|
51
|
+
wmi = WmiLite::Wmi.new
|
52
|
+
|
53
|
+
etc[:passwd] = Mash.new
|
54
|
+
users = wmi.query("SELECT * FROM Win32_UserAccount WHERE LocalAccount = True")
|
55
|
+
users.each do |user|
|
56
|
+
uname = user["Name"].strip.downcase
|
57
|
+
Ohai::Log.debug("processing user #{uname}")
|
58
|
+
etc[:passwd][uname] = Mash.new
|
59
|
+
wmi_obj = user.wmi_ole_object
|
60
|
+
wmi_obj.properties_.each do |key|
|
61
|
+
etc[:passwd][uname][key.name.downcase] = user[key.name]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
etc[:group] = Mash.new
|
66
|
+
groups = wmi.query("SELECT * FROM Win32_Group WHERE LocalAccount = True")
|
67
|
+
groups.each do |group|
|
68
|
+
gname = group["Name"].strip.downcase
|
69
|
+
Ohai::Log.debug("processing group #{gname}")
|
70
|
+
etc[:group][gname] = Mash.new
|
71
|
+
wmi_obj = group.wmi_ole_object
|
72
|
+
wmi_obj.properties_.each do |key|
|
73
|
+
etc[:group][gname][key.name.downcase] = group[key.name]
|
74
|
+
end
|
75
|
+
|
76
|
+
# This is the primary reason that we're using WMI instead of powershell
|
77
|
+
# cmdlets - the powershell start up cost is huge, and you *must* do this
|
78
|
+
# query for every. single. group. individually.
|
79
|
+
|
80
|
+
# The query returns nothing unless you specify domain *and* name, it's
|
81
|
+
# a path, not a set of queries.
|
82
|
+
subq = "Win32_Group.Domain='#{group["Domain"]}',Name='#{group["Name"]}'"
|
83
|
+
members = wmi.query(
|
84
|
+
"SELECT * FROM Win32_GroupUser WHERE GroupComponent=\"#{subq}\""
|
85
|
+
)
|
86
|
+
etc[:group][gname]["members"] = members.map do |member|
|
87
|
+
mi = {}
|
88
|
+
info = Hash[
|
89
|
+
member["partcomponent"].split(",").map { |x| x.split("=") }.map { |a, b| [a, b.undump] }
|
90
|
+
]
|
91
|
+
if info.keys.any? { |x| x.match?("Win32_UserAccount") }
|
92
|
+
mi["type"] = :user
|
93
|
+
else
|
94
|
+
# NOTE: the type here is actually Win32_SystemAccount, because,
|
95
|
+
# that's what groups are in the Windows universe.
|
96
|
+
mi["type"] = :group
|
97
|
+
end
|
98
|
+
mi["name"] = info["Name"]
|
99
|
+
mi
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
46
103
|
end
|
47
104
|
end
|
data/lib/ohai/plugins/perl.rb
CHANGED
data/lib/ohai/plugins/php.rb
CHANGED
data/lib/ohai/plugins/ps.rb
CHANGED
data/lib/ohai/plugins/python.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Cary Penniman (<cary@rightscale.com>)
|
3
4
|
# License:: Apache License, Version 2.0
|
@@ -25,7 +26,7 @@ Ohai.plugin(:Rackspace) do
|
|
25
26
|
# true:: If kernel name matches
|
26
27
|
# false:: Otherwise
|
27
28
|
def has_rackspace_kernel?
|
28
|
-
kernel[:release].
|
29
|
+
kernel[:release].end_with?("-rscloud")
|
29
30
|
end
|
30
31
|
|
31
32
|
# Checks for rackspace provider attribute
|
@@ -160,10 +161,10 @@ Ohai.plugin(:Rackspace) do
|
|
160
161
|
get_global_ipv6_address(:public_ipv6, :eth0)
|
161
162
|
unless rackspace[:public_ip].nil?
|
162
163
|
rackspace[:public_hostname] = begin
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
164
|
+
Resolv.getname(rackspace[:public_ip])
|
165
|
+
rescue Resolv::ResolvError, Resolv::ResolvTimeout
|
166
|
+
rackspace[:public_ip]
|
167
|
+
end
|
167
168
|
end
|
168
169
|
rackspace[:local_ipv4] = rackspace[:private_ip]
|
169
170
|
get_global_ipv6_address(:local_ipv6, :eth1)
|
data/lib/ohai/plugins/ruby.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
4
|
# Copyright:: Copyright (c) Chef Software Inc.
|
@@ -48,13 +49,13 @@ Ohai.plugin(:Ruby) do
|
|
48
49
|
}
|
49
50
|
|
50
51
|
# Create a query string from above hash
|
51
|
-
env_string =
|
52
|
+
env_string = []
|
52
53
|
values.each_key do |v|
|
53
54
|
env_string << "#{v}=\#{#{values[v]}},"
|
54
55
|
end
|
55
56
|
|
56
57
|
# Query the system ruby
|
57
|
-
result = run_ruby "require 'rubygems'; puts %Q(#{env_string})"
|
58
|
+
result = run_ruby "require 'rubygems'; puts %Q(#{env_string.join})"
|
58
59
|
|
59
60
|
# Parse results to plugin hash
|
60
61
|
result.split(",").each do |entry|
|
data/lib/ohai/plugins/rust.rb
CHANGED
data/lib/ohai/plugins/scala.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Jonathan Amiez (<jonathan.amiez@gmail.com>)
|
3
4
|
# License:: Apache License, Version 2.0
|
@@ -26,7 +27,7 @@ Ohai.plugin(:Scaleway) do
|
|
26
27
|
# looks for `scaleway` keyword in kernel command line
|
27
28
|
# @return [Boolean] do we have the keyword or not?
|
28
29
|
def has_scaleway_cmdline?
|
29
|
-
if
|
30
|
+
if file_exist?("/proc/cmdline") && /scaleway/.match?(file_read("/proc/cmdline"))
|
30
31
|
logger.trace("Plugin Scaleway: has_scaleway_cmdline? == true")
|
31
32
|
return true
|
32
33
|
end
|
@@ -43,7 +44,7 @@ Ohai.plugin(:Scaleway) do
|
|
43
44
|
false
|
44
45
|
end
|
45
46
|
|
46
|
-
collect_data do
|
47
|
+
collect_data(:linux) do
|
47
48
|
if looks_like_scaleway?
|
48
49
|
logger.trace("Plugin Scaleway: looks_like_scaleway? == true")
|
49
50
|
scaleway Mash.new
|
data/lib/ohai/plugins/scsi.rb
CHANGED
data/lib/ohai/plugins/shard.rb
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
Ohai.plugin(:ShardSeed) do
|
20
20
|
depends "hostname", "dmi", "machine_id", "machinename", "fips", "hardware", "kernel"
|
21
|
-
provides "shard_seed"
|
21
|
+
provides "shard_seed".freeze
|
22
22
|
|
23
23
|
def get_dmi_property(dmi, thing)
|
24
24
|
%w{system base_board chassis}.each do |section|
|
data/lib/ohai/plugins/shells.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Tim Smith (<tsmith@chef.io>)
|
3
4
|
# Copyright:: Copyright (c) Chef Software Inc.
|
@@ -20,9 +21,9 @@ Ohai.plugin(:Shells) do
|
|
20
21
|
provides "shells"
|
21
22
|
|
22
23
|
collect_data do
|
23
|
-
if
|
24
|
+
if file_exist?("/etc/shells")
|
24
25
|
shells []
|
25
|
-
|
26
|
+
file_open("/etc/shells").readlines.each do |line|
|
26
27
|
# remove carriage returns and skip over comments / empty lines
|
27
28
|
shells << line.chomp if line[0] == "/"
|
28
29
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Kurt Yoder (ktyopscode@yoderhome.com)
|
3
4
|
# Copyright:: Copyright (c) 2010 Kurt Yoder
|
@@ -128,7 +129,7 @@ Ohai.plugin(:DMI) do
|
|
128
129
|
id = smb_to_id[header_information[3]]
|
129
130
|
|
130
131
|
# Don't overcapture for now (OHAI-260)
|
131
|
-
unless Ohai::Common::DMI.
|
132
|
+
unless Ohai::Common::DMI.allowlisted_ids.include?(id)
|
132
133
|
dmi_record = nil
|
133
134
|
next
|
134
135
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Benjamin Black (<nostromo@gmail.com>)
|
3
4
|
# Copyright:: Copyright (c) Chef Software Inc.
|
@@ -126,7 +127,7 @@ Ohai.plugin(:Network) do
|
|
126
127
|
end
|
127
128
|
if line =~ /\s+inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) netmask (([0-9a-f]){1,8}) broadcast (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
|
128
129
|
iface[cint][:addresses] ||= Mash.new
|
129
|
-
iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => hex_to_dec_netmask($2)
|
130
|
+
iface[cint][:addresses][$1] = { "family" => "inet", "netmask" => hex_to_dec_netmask($2), "broadcast" => $4 }
|
130
131
|
end
|
131
132
|
if line =~ %r{\s+inet6 ([a-f0-9\:]+)(\s*|(\%[a-z0-9]+)\s*)/(\d+)\s*$}
|
132
133
|
iface[cint][:addresses] ||= Mash.new
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Benjamin Black (<nostromo@gmail.com>)
|
3
4
|
# Copyright:: Copyright (c) Chef Software Inc.
|
@@ -20,7 +21,7 @@ Ohai.plugin(:Platform) do
|
|
20
21
|
provides "platform", "platform_version", "platform_build", "platform_family"
|
21
22
|
|
22
23
|
collect_data(:solaris2) do
|
23
|
-
if
|
24
|
+
if file_exist?("/sbin/uname")
|
24
25
|
uname_exec = "/sbin/uname"
|
25
26
|
else
|
26
27
|
uname_exec = "uname"
|
@@ -35,26 +36,19 @@ Ohai.plugin(:Platform) do
|
|
35
36
|
end
|
36
37
|
end
|
37
38
|
|
38
|
-
|
39
|
+
file_open("/etc/release") do |file|
|
39
40
|
while ( line = file.gets )
|
40
41
|
case line
|
41
|
-
when
|
42
|
+
when /.*SmartOS.*/
|
42
43
|
platform "smartos"
|
43
|
-
when /^\s*
|
44
|
+
when /^\s*OmniOS.*r(\d+).*$/
|
44
45
|
platform "omnios"
|
45
|
-
platform_version $
|
46
|
-
when /^\s*
|
46
|
+
platform_version $1
|
47
|
+
when /^\s*OpenIndiana.*(Development oi_|Hipster )(\d\S*)/ # https://rubular.com/r/iMtOBwbnyqDz7u
|
47
48
|
platform "openindiana"
|
48
49
|
platform_version $2
|
49
|
-
when /^\s*(
|
50
|
-
platform "opensolaris"
|
51
|
-
platform_version $2
|
52
|
-
when /^\s*(Oracle Solaris)/
|
53
|
-
platform "solaris2"
|
54
|
-
when /^\s*(Solaris)\s.*$/
|
50
|
+
when /^\s*(Oracle Solaris|Solaris)/
|
55
51
|
platform "solaris2"
|
56
|
-
when /^\s*(NexentaCore)\s.*$/
|
57
|
-
platform "nexentacore"
|
58
52
|
end
|
59
53
|
end
|
60
54
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Sean Walbran (<seanwalbran@gmail.com>)
|
3
4
|
# Author:: Kurt Yoder (<ktyopscode@yoderhome.com>)
|
@@ -34,7 +35,7 @@ Ohai.plugin(:Virtualization) do
|
|
34
35
|
|
35
36
|
# Detect paravirt KVM/QEMU from cpuinfo, report as KVM
|
36
37
|
psrinfo_path = Ohai.abs_path( "/usr/sbin/psrinfo" )
|
37
|
-
if
|
38
|
+
if file_exist?(psrinfo_path)
|
38
39
|
so = shell_out("#{psrinfo_path} -pv")
|
39
40
|
if /QEMU Virtual CPU|Common KVM processor|Common 32-bit KVM processor/.match?(so.stdout)
|
40
41
|
virtualization[:system] = "kvm"
|
@@ -55,7 +56,7 @@ Ohai.plugin(:Virtualization) do
|
|
55
56
|
if File.executable?("/usr/sbin/zoneadm")
|
56
57
|
zones = Mash.new
|
57
58
|
shell_out("zoneadm list -pc").stdout.lines do |line|
|
58
|
-
info = line.chomp.split(
|
59
|
+
info = line.chomp.split(":")
|
59
60
|
zones[info[1]] = {
|
60
61
|
"id" => info[0],
|
61
62
|
"state" => info[2],
|
@@ -68,12 +69,11 @@ Ohai.plugin(:Virtualization) do
|
|
68
69
|
|
69
70
|
if zones.length == 1
|
70
71
|
first_zone = zones.keys[0]
|
72
|
+
virtualization[:system] = "zone"
|
71
73
|
if first_zone == "global"
|
72
|
-
virtualization[:system] = "zone"
|
73
74
|
virtualization[:role] = "host"
|
74
75
|
virtualization[:systems][:zone] = "host"
|
75
76
|
else
|
76
|
-
virtualization[:system] = "zone"
|
77
77
|
virtualization[:role] = "guest"
|
78
78
|
virtualization[:systems][:zone] = "guest"
|
79
79
|
virtualization[:guest_uuid] = zones[first_zone]["uuid"]
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
#
|
2
3
|
# Author:: Bryan McLellan <btm@chef.io>
|
3
4
|
# Copyright:: Copyright (c) Chef Software Inc.
|
@@ -38,9 +39,9 @@ Ohai.plugin(:SSHHostKey) do
|
|
38
39
|
collect_data do
|
39
40
|
keys[:ssh] = Mash.new
|
40
41
|
|
41
|
-
sshd_config = if
|
42
|
+
sshd_config = if file_exist?("/etc/ssh/sshd_config")
|
42
43
|
"/etc/ssh/sshd_config"
|
43
|
-
elsif
|
44
|
+
elsif file_exist?("/etc/sshd_config")
|
44
45
|
# Darwin
|
45
46
|
"/etc/sshd_config"
|
46
47
|
else
|
@@ -49,11 +50,11 @@ Ohai.plugin(:SSHHostKey) do
|
|
49
50
|
end
|
50
51
|
|
51
52
|
if sshd_config
|
52
|
-
|
53
|
+
file_open(sshd_config) do |conf|
|
53
54
|
conf.each_line do |line|
|
54
55
|
if /^hostkey\s/i.match?(line)
|
55
56
|
pub_file = "#{line.split[1]}.pub"
|
56
|
-
content =
|
57
|
+
content = file_read(pub_file).split
|
57
58
|
key_type, key_subtype = extract_keytype?(content)
|
58
59
|
keys[:ssh]["host_#{key_type}_public"] = content[1] unless key_type.nil?
|
59
60
|
keys[:ssh]["host_#{key_type}_type"] = key_subtype unless key_subtype.nil?
|
@@ -62,22 +63,22 @@ Ohai.plugin(:SSHHostKey) do
|
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
65
|
-
if keys[:ssh][:host_dsa_public].nil? &&
|
66
|
-
keys[:ssh][:host_dsa_public] =
|
66
|
+
if keys[:ssh][:host_dsa_public].nil? && file_exist?("/etc/ssh/ssh_host_dsa_key.pub")
|
67
|
+
keys[:ssh][:host_dsa_public] = file_read("/etc/ssh/ssh_host_dsa_key.pub").split[1]
|
67
68
|
end
|
68
69
|
|
69
|
-
if keys[:ssh][:host_rsa_public].nil? &&
|
70
|
-
keys[:ssh][:host_rsa_public] =
|
70
|
+
if keys[:ssh][:host_rsa_public].nil? && file_exist?("/etc/ssh/ssh_host_rsa_key.pub")
|
71
|
+
keys[:ssh][:host_rsa_public] = file_read("/etc/ssh/ssh_host_rsa_key.pub").split[1]
|
71
72
|
end
|
72
73
|
|
73
|
-
if keys[:ssh][:host_ecdsa_public].nil? &&
|
74
|
-
content =
|
74
|
+
if keys[:ssh][:host_ecdsa_public].nil? && file_exist?("/etc/ssh/ssh_host_ecdsa_key.pub")
|
75
|
+
content = file_read("/etc/ssh/ssh_host_ecdsa_key.pub")
|
75
76
|
keys[:ssh][:host_ecdsa_public] = content.split[1]
|
76
77
|
keys[:ssh][:host_ecdsa_type] = content.split[0]
|
77
78
|
end
|
78
79
|
|
79
|
-
if keys[:ssh][:host_ed25519_public].nil? &&
|
80
|
-
keys[:ssh][:host_ed25519_public] =
|
80
|
+
if keys[:ssh][:host_ed25519_public].nil? && file_exist?("/etc/ssh/ssh_host_ed25519_key.pub")
|
81
|
+
keys[:ssh][:host_ed25519_public] = file_read("/etc/ssh/ssh_host_ed25519_key.pub").split[1]
|
81
82
|
end
|
82
83
|
end
|
83
84
|
end
|