ohai 17.7.12 → 17.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 152ee2a1456b0508eeb740837c37169e101f860d4398ed71dc2be86207aa9e75
4
- data.tar.gz: ff72078f7fb2e6eab1207659eb0a66b4bfed98cbf66ca82778830ecfe545e5f4
3
+ metadata.gz: 4d6aab3006a40779de433a6634b5be22fcb2ed1950c4b67d22eaa1fc18cc8993
4
+ data.tar.gz: ae3152a23474650f3d5c497ff8e966273a14656dc6d8f454ce4ac769a6259f1a
5
5
  SHA512:
6
- metadata.gz: e0bd1cc8142814db7d670a19cb6c49d7ccbfa7e029ae33ec79d194f27c03abdf07c215e155e50cc052893f9b3aef15a1c4de414e40e370753595fb877fa2c574
7
- data.tar.gz: 23424895d514fe8ca3384e1155a75cbaba60a684aac6f4e53c924bb34733194691642a3b877f09c8e377b8a0fe59075bb2380d0bba9c8ed0c8abb59eea758aa2
6
+ metadata.gz: 1d7331b209e4d513403cd87949ab0eb4f65a00597da848e22042c2658734cd999c9419ea2fa135e8fcb253eb69c97881324ccbb519198726ba445aec71cb8732
7
+ data.tar.gz: 6673a8e0fcdaa7cc26fddf35ef54fc88169bcccbecb9f00d85cfa3584661c0c4803869c86b71615f9f69a65dd45aefdd0e22bd6a3a426a34ab8180370312f49e
@@ -33,7 +33,7 @@ Ohai.plugin(:Chef) do
33
33
  begin
34
34
  require "chef/version"
35
35
  require "chef-config/config" unless defined?(ChefConfig::Config)
36
- rescue Gem::LoadError
36
+ rescue LoadError
37
37
  logger.trace("Plugin Chef: Unable to load the chef gem to determine the version")
38
38
  # this catches when you've done a major version bump of ohai, but
39
39
  # your chef gem is incompatible, so we can't load it in the same VM
@@ -91,17 +91,27 @@ Ohai.plugin(:Rpm) do
91
91
  value = ""
92
92
  lines[macros_start_idx + 1..macros_end_idx - 1].each do |line|
93
93
  if line.start_with?("-")
94
+ # new macros are always prefixed by a dash
94
95
  if name
96
+ # if we had parsed a macro before, store it
95
97
  rpm[:macros][name] = value
96
98
  name = nil
97
99
  value = ""
98
- else
99
- _prefix, name, value = line.split(" ", 3)
100
100
  end
101
+
102
+ # parse the new macro definition
103
+ _prefix, name, value = line.split(" ", 3)
101
104
  else
105
+ # continuations have no prefix and just append to the previous one
102
106
  value += "\n#{line}"
103
107
  end
104
108
  end
109
+
110
+ # Once we're done parsing all lines, we might have a parsed definition
111
+ # we haven't stored - if so, store it.
112
+ if name
113
+ rpm[:macros][name] = value
114
+ end
105
115
  else
106
116
  logger.trace("Plugin RPM: Could not find rpm. Skipping plugin.")
107
117
  end
@@ -45,12 +45,14 @@ Ohai.plugin(:VMware) do
45
45
  logger.trace("Plugin VMware: #{vmtools_path} not found")
46
46
  else
47
47
  vmware Mash.new
48
+ vmware[:host] = Mash.new
49
+ vmware[:guest] = Mash.new
48
50
  begin
49
51
  # vmware-toolbox-cmd stat <param> commands
50
52
  # Iterate through each parameter supported by the "vwware-toolbox-cmd stat" command, assign value
51
53
  # to attribute "vmware[:<parameter>]"
52
54
  %w{hosttime speed sessionid balloon swap memlimit memres cpures cpulimit}.each do |param|
53
- vmware[param] = from_cmd("#{vmtools_path} stat #{param}")
55
+ vmware[param] = from_cmd([vmtools_path, "stat", param])
54
56
  if /UpdateInfo failed/.match?(vmware[param])
55
57
  vmware[param] = nil
56
58
  end
@@ -59,8 +61,23 @@ Ohai.plugin(:VMware) do
59
61
  # Iterate through each parameter supported by the "vmware-toolbox-cmd status" command, assign value
60
62
  # to attribute "vmware[:<parameter>]"
61
63
  %w{upgrade timesync}.each do |param|
62
- vmware[param] = from_cmd("#{vmtools_path} #{param} status")
64
+ vmware[param] = from_cmd([vmtools_path, param, "status"])
63
65
  end
66
+ # Distinguish hypervisors by presence of raw session data (vSphere only)
67
+ raw_session = from_cmd([vmtools_path, "stat", "raw", "json", "session"])
68
+ if raw_session.empty?
69
+ vmware[:host] = {
70
+ type: "vmware_desktop",
71
+ }
72
+ else
73
+ require "json" unless defined?(JSON)
74
+ session = JSON.parse(raw_session)
75
+ vmware[:host] = {
76
+ type: "vmware_vsphere",
77
+ version: session["version"],
78
+ }
79
+ end
80
+ vmware[:guest][:vmware_tools_version] = from_cmd([vmtools_path, "-v"]).split(" ").first
64
81
  rescue
65
82
  logger.trace("Plugin VMware: Error while collecting VMware guest attributes")
66
83
  end
@@ -71,4 +88,7 @@ Ohai.plugin(:VMware) do
71
88
  get_vm_attributes("/usr/bin/vmware-toolbox-cmd") if virtualization[:systems][:vmware]
72
89
  end
73
90
 
91
+ collect_data(:windows) do
92
+ get_vm_attributes("C:/Program Files/VMWare/VMware Tools/VMwareToolboxCmd.exe") if virtualization[:systems][:vmware]
93
+ end
74
94
  end
data/lib/ohai/runner.rb CHANGED
@@ -61,7 +61,7 @@ module Ohai
61
61
  rescue Ohai::Exceptions::Error, SystemExit # SystemExit: abort or exit from plug-in should exit Ohai with failure code
62
62
  raise
63
63
  rescue Exception => e
64
- logger.trace("Plugin #{plugin.name} threw exception #{e.inspect} #{e.backtrace.join("\n")}")
64
+ logger.warn("Plugin #{plugin.name} threw exception #{e.inspect} #{e.backtrace.join("\n")}")
65
65
  end
66
66
  end
67
67
  logger.trace("Plugin #{plugin.name} took #{"%f" % elapsed.truncate(6)} seconds to run.")
data/lib/ohai/version.rb CHANGED
@@ -19,5 +19,5 @@
19
19
 
20
20
  module Ohai
21
21
  OHAI_ROOT = File.expand_path(__dir__)
22
- VERSION = "17.7.12"
22
+ VERSION = "17.9.0"
23
23
  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: 17.7.12
4
+ version: 17.9.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: 2021-11-30 00:00:00.000000000 Z
11
+ date: 2021-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-config