ohai 18.2.6 → 19.0.3

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.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +28 -28
  3. data/LICENSE +201 -201
  4. data/bin/ohai +25 -25
  5. data/lib/ohai/application.rb +189 -189
  6. data/lib/ohai/common/dmi.rb +167 -167
  7. data/lib/ohai/config.rb +51 -51
  8. data/lib/ohai/dsl/plugin/versionvii.rb +203 -203
  9. data/lib/ohai/dsl/plugin.rb +232 -232
  10. data/lib/ohai/dsl.rb +22 -22
  11. data/lib/ohai/exception.rb +36 -36
  12. data/lib/ohai/hints.rb +68 -68
  13. data/lib/ohai/loader.rb +178 -178
  14. data/lib/ohai/log.rb +34 -34
  15. data/lib/ohai/mash.rb +22 -22
  16. data/lib/ohai/mixin/alibaba_metadata.rb +83 -83
  17. data/lib/ohai/mixin/azure_metadata.rb +105 -105
  18. data/lib/ohai/mixin/chef_utils_wiring.rb +52 -52
  19. data/lib/ohai/mixin/command.rb +4 -4
  20. data/lib/ohai/mixin/constant_helper.rb +55 -55
  21. data/lib/ohai/mixin/dmi_decode.rb +54 -54
  22. data/lib/ohai/mixin/do_metadata.rb +48 -48
  23. data/lib/ohai/mixin/ec2_metadata.rb +264 -270
  24. data/lib/ohai/mixin/gce_metadata.rb +79 -79
  25. data/lib/ohai/mixin/http_helper.rb +64 -64
  26. data/lib/ohai/mixin/json_helper.rb +36 -36
  27. data/lib/ohai/mixin/network_helper.rb +92 -92
  28. data/lib/ohai/mixin/oci_metadata.rb +60 -60
  29. data/lib/ohai/mixin/os.rb +128 -128
  30. data/lib/ohai/mixin/scaleway_metadata.rb +51 -51
  31. data/lib/ohai/mixin/seconds_to_human.rb +52 -52
  32. data/lib/ohai/mixin/shell_out.rb +51 -51
  33. data/lib/ohai/mixin/softlayer_metadata.rb +74 -74
  34. data/lib/ohai/mixin/string.rb +31 -31
  35. data/lib/ohai/mixin/train_helpers.rb +36 -36
  36. data/lib/ohai/mixin/which.rb +39 -39
  37. data/lib/ohai/plugin_config.rb +47 -47
  38. data/lib/ohai/plugins/aix/kernel.rb +50 -50
  39. data/lib/ohai/plugins/aix/memory.rb +37 -37
  40. data/lib/ohai/plugins/aix/network.rb +142 -142
  41. data/lib/ohai/plugins/aix/platform.rb +30 -30
  42. data/lib/ohai/plugins/aix/uptime.rb +54 -54
  43. data/lib/ohai/plugins/aix/virtualization.rb +154 -154
  44. data/lib/ohai/plugins/alibaba.rb +72 -72
  45. data/lib/ohai/plugins/azure.rb +154 -154
  46. data/lib/ohai/plugins/bsd/virtualization.rb +121 -121
  47. data/lib/ohai/plugins/c.rb +178 -178
  48. data/lib/ohai/plugins/chef.rb +50 -50
  49. data/lib/ohai/plugins/cloud.rb +379 -379
  50. data/lib/ohai/plugins/command.rb +26 -26
  51. data/lib/ohai/plugins/cpu.rb +642 -642
  52. data/lib/ohai/plugins/darwin/hardware.rb +99 -99
  53. data/lib/ohai/plugins/darwin/memory.rb +62 -62
  54. data/lib/ohai/plugins/darwin/network.rb +207 -207
  55. data/lib/ohai/plugins/darwin/platform.rb +40 -40
  56. data/lib/ohai/plugins/darwin/virtualization.rb +104 -104
  57. data/lib/ohai/plugins/digital_ocean.rb +67 -67
  58. data/lib/ohai/plugins/dmi.rb +134 -134
  59. data/lib/ohai/plugins/docker.rb +58 -58
  60. data/lib/ohai/plugins/dragonflybsd/memory.rb +60 -60
  61. data/lib/ohai/plugins/dragonflybsd/network.rb +128 -128
  62. data/lib/ohai/plugins/dragonflybsd/platform.rb +28 -28
  63. data/lib/ohai/plugins/ec2.rb +148 -148
  64. data/lib/ohai/plugins/elixir.rb +36 -36
  65. data/lib/ohai/plugins/erlang.rb +60 -60
  66. data/lib/ohai/plugins/eucalyptus.rb +86 -86
  67. data/lib/ohai/plugins/filesystem.rb +753 -753
  68. data/lib/ohai/plugins/fips.rb +36 -36
  69. data/lib/ohai/plugins/freebsd/memory.rb +60 -60
  70. data/lib/ohai/plugins/freebsd/network.rb +128 -128
  71. data/lib/ohai/plugins/freebsd/platform.rb +28 -28
  72. data/lib/ohai/plugins/gce.rb +89 -89
  73. data/lib/ohai/plugins/go.rb +34 -34
  74. data/lib/ohai/plugins/groovy.rb +38 -38
  75. data/lib/ohai/plugins/grub2.rb +40 -40
  76. data/lib/ohai/plugins/habitat.rb +73 -73
  77. data/lib/ohai/plugins/haskell.rb +96 -96
  78. data/lib/ohai/plugins/hostname.rb +133 -133
  79. data/lib/ohai/plugins/init_package.rb +26 -26
  80. data/lib/ohai/plugins/java.rb +78 -78
  81. data/lib/ohai/plugins/kernel.rb +292 -292
  82. data/lib/ohai/plugins/keys.rb +27 -27
  83. data/lib/ohai/plugins/languages.rb +26 -26
  84. data/lib/ohai/plugins/libvirt.rb +114 -114
  85. data/lib/ohai/plugins/linode.rb +73 -73
  86. data/lib/ohai/plugins/linux/block_device.rb +48 -48
  87. data/lib/ohai/plugins/linux/hostnamectl.rb +34 -34
  88. data/lib/ohai/plugins/linux/interrupts.rb +84 -83
  89. data/lib/ohai/plugins/linux/ipc.rb +52 -52
  90. data/lib/ohai/plugins/linux/livepatch.rb +38 -38
  91. data/lib/ohai/plugins/linux/lsb.rb +46 -46
  92. data/lib/ohai/plugins/linux/lspci.rb +80 -80
  93. data/lib/ohai/plugins/linux/machineid.rb +36 -36
  94. data/lib/ohai/plugins/linux/mdadm.rb +120 -120
  95. data/lib/ohai/plugins/linux/memory.rb +106 -106
  96. data/lib/ohai/plugins/linux/network.rb +879 -879
  97. data/lib/ohai/plugins/linux/os_release.rb +38 -38
  98. data/lib/ohai/plugins/linux/platform.rb +314 -314
  99. data/lib/ohai/plugins/linux/selinux.rb +69 -69
  100. data/lib/ohai/plugins/linux/sessions.rb +54 -54
  101. data/lib/ohai/plugins/linux/sysctl.rb +39 -39
  102. data/lib/ohai/plugins/linux/systemd_paths.rb +36 -36
  103. data/lib/ohai/plugins/linux/tc.rb +61 -61
  104. data/lib/ohai/plugins/linux/virtualization.rb +300 -300
  105. data/lib/ohai/plugins/lua.rb +39 -39
  106. data/lib/ohai/plugins/mono.rb +50 -50
  107. data/lib/ohai/plugins/netbsd/memory.rb +99 -99
  108. data/lib/ohai/plugins/netbsd/network.rb +122 -122
  109. data/lib/ohai/plugins/netbsd/platform.rb +28 -28
  110. data/lib/ohai/plugins/network.rb +186 -186
  111. data/lib/ohai/plugins/nodejs.rb +40 -40
  112. data/lib/ohai/plugins/oci.rb +94 -94
  113. data/lib/ohai/plugins/ohai.rb +29 -29
  114. data/lib/ohai/plugins/ohai_time.rb +26 -26
  115. data/lib/ohai/plugins/openbsd/memory.rb +99 -99
  116. data/lib/ohai/plugins/openbsd/network.rb +122 -122
  117. data/lib/ohai/plugins/openbsd/platform.rb +28 -28
  118. data/lib/ohai/plugins/openstack.rb +84 -84
  119. data/lib/ohai/plugins/os.rb +55 -55
  120. data/lib/ohai/plugins/packages.rb +234 -234
  121. data/lib/ohai/plugins/passwd.rb +104 -104
  122. data/lib/ohai/plugins/perl.rb +45 -45
  123. data/lib/ohai/plugins/php.rb +52 -52
  124. data/lib/ohai/plugins/platform.rb +41 -41
  125. data/lib/ohai/plugins/powershell.rb +82 -82
  126. data/lib/ohai/plugins/ps.rb +35 -35
  127. data/lib/ohai/plugins/python.rb +43 -43
  128. data/lib/ohai/plugins/rackspace.rb +177 -177
  129. data/lib/ohai/plugins/root_group.rb +41 -41
  130. data/lib/ohai/plugins/rpm.rb +121 -121
  131. data/lib/ohai/plugins/ruby.rb +66 -66
  132. data/lib/ohai/plugins/rust.rb +34 -34
  133. data/lib/ohai/plugins/scala.rb +38 -38
  134. data/lib/ohai/plugins/scaleway.rb +58 -58
  135. data/lib/ohai/plugins/scsi.rb +52 -52
  136. data/lib/ohai/plugins/shard.rb +142 -142
  137. data/lib/ohai/plugins/shells.rb +32 -32
  138. data/lib/ohai/plugins/softlayer.rb +48 -48
  139. data/lib/ohai/plugins/solaris2/dmi.rb +191 -191
  140. data/lib/ohai/plugins/solaris2/memory.rb +32 -32
  141. data/lib/ohai/plugins/solaris2/network.rb +192 -192
  142. data/lib/ohai/plugins/solaris2/platform.rb +58 -58
  143. data/lib/ohai/plugins/solaris2/virtualization.rb +90 -90
  144. data/lib/ohai/plugins/ssh_host_key.rb +84 -84
  145. data/lib/ohai/plugins/sysconf.rb +46 -46
  146. data/lib/ohai/plugins/timezone.rb +45 -45
  147. data/lib/ohai/plugins/train.rb +35 -35
  148. data/lib/ohai/plugins/uptime.rb +95 -95
  149. data/lib/ohai/plugins/virtualbox.rb +197 -197
  150. data/lib/ohai/plugins/vmware.rb +109 -109
  151. data/lib/ohai/plugins/windows/dmi.rb +95 -95
  152. data/lib/ohai/plugins/windows/drivers.rb +52 -52
  153. data/lib/ohai/plugins/windows/memory.rb +39 -39
  154. data/lib/ohai/plugins/windows/network.rb +222 -222
  155. data/lib/ohai/plugins/windows/platform.rb +34 -34
  156. data/lib/ohai/plugins/windows/system_enclosure.rb +29 -29
  157. data/lib/ohai/plugins/windows/virtualization.rb +45 -45
  158. data/lib/ohai/plugins/zpools.rb +94 -94
  159. data/lib/ohai/provides_map.rb +208 -208
  160. data/lib/ohai/runner.rb +128 -126
  161. data/lib/ohai/system.rb +258 -258
  162. data/lib/ohai/train_transport.rb +29 -29
  163. data/lib/ohai/util/file_helper.rb +6 -6
  164. data/lib/ohai/util/ip_helper.rb +56 -56
  165. data/lib/ohai/util/win32.rb +47 -47
  166. data/lib/ohai/version.rb +23 -23
  167. data/lib/ohai.rb +23 -23
  168. data/ohai.gemspec +35 -35
  169. metadata +9 -15
@@ -1,189 +1,189 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Mathieu Sauve-Frankel <msf@kisoku.net>
4
- # Copyright:: Copyright (c) 2009 Mathieu Sauve-Frankel.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
-
19
- require "chef-config/path_helper"
20
- require "chef-config/workstation_config_loader"
21
- require_relative "../ohai"
22
- require_relative "log" unless defined?(Ohai::Log)
23
- require "mixlib/cli" unless defined?(Mixlib::CLI)
24
- require "benchmark" unless defined?(Benchmark)
25
-
26
- # The Application class is what is called by the Ohai CLI binary. It handles:
27
- # - CLI options and attribute arguments
28
- # - Collecting data via the Ohai::System class
29
- # - Printing the results returned via the Ohai::System class
30
- class Ohai::Application
31
- include Mixlib::CLI
32
-
33
- option :config_file,
34
- short: "-c CONFIG",
35
- long: "--config CONFIG",
36
- description: "A configuration file to use",
37
- proc: lambda { |path| File.expand_path(path, Dir.pwd) }
38
-
39
- option :directory,
40
- short: "-d DIRECTORY",
41
- long: "--directory DIRECTORY",
42
- description: "A directory to add to the Ohai plugin search path. If passing multiple directories use this option more than once.",
43
- proc: lambda { |path, path_array|
44
- (path_array ||= []) << Ohai::Config.platform_specific_path(path)
45
- path_array
46
- }
47
-
48
- option :log_level,
49
- short: "-l LEVEL",
50
- long: "--log_level LEVEL",
51
- description: "Set the log level (debug, info, warn, error, fatal)",
52
- proc: lambda(&:to_sym)
53
-
54
- option :log_location,
55
- short: "-L LOGLOCATION",
56
- long: "--logfile LOGLOCATION",
57
- description: "Set the log file location, defaults to STDOUT - recommended for daemonizing",
58
- proc: nil
59
-
60
- option :target,
61
- short: "-t TARGET",
62
- long: "--target TARGET",
63
- description: "Target Ohai against a remote system or device",
64
- proc: lambda { |target|
65
- Ohai::Log.warn "-- EXPERIMENTAL -- Target mode activated -- EXPERIMENTAL --"
66
- target
67
- }
68
-
69
- option :help,
70
- short: "-h",
71
- long: "--help",
72
- description: "Show this message",
73
- on: :tail,
74
- boolean: true,
75
- show_options: true,
76
- exit: 0
77
-
78
- option :version,
79
- short: "-v",
80
- long: "--version",
81
- description: "Show Ohai version",
82
- boolean: true,
83
- proc: lambda { |v| puts "Ohai: #{::Ohai::VERSION}" },
84
- exit: 0
85
-
86
- # the method called by the Ohai binary to actually run the whole application
87
- #
88
- # @return void
89
- def run
90
- elapsed = Benchmark.realtime do
91
- configure_ohai
92
- run_application
93
- end
94
- Ohai::Log.debug("Ohai took #{elapsed} total seconds to run.")
95
- end
96
-
97
- # parses the CLI options, loads the config file if present, and initializes logging
98
- #
99
- # @return void
100
- def configure_ohai
101
- @attributes = parse_options
102
- @attributes = nil if @attributes.empty?
103
-
104
- load_workstation_config
105
-
106
- merge_configs
107
-
108
- if config[:target]
109
- Ohai::Config.target_mode.host = config[:target]
110
- if URI.parse(Ohai::Config.target_mode.host).scheme
111
- train_config = Train.unpack_target_from_uri(Ohai::Config.target_mode.host)
112
- Ohai::Config.target_mode = train_config
113
- end
114
- Ohai::Config.target_mode.enabled = true
115
- Ohai::Config.node_name = Ohai::Config.target_mode.host unless Ohai::Config.node_name
116
- end
117
-
118
- Ohai::Log.init(Ohai.config[:log_location])
119
- end
120
-
121
- # @api private
122
- def config_file_defaults
123
- Ohai::Config.save(true)
124
- end
125
-
126
- # @api private
127
- def config_file_settings
128
- Ohai::Config.save(false)
129
- end
130
-
131
- # See lib/chef/knife.rb in the chef/chef github repo
132
- #
133
- # @api private
134
- def merge_configs
135
- config.replace(config_file_defaults.merge(default_config).merge(config_file_settings).merge(config))
136
- Ohai::Config.merge!(config) # make them both the same
137
- end
138
-
139
- # Passes config and attributes arguments to Ohai::System then prints the results.
140
- # Called by the run method after config / logging have been initialized
141
- #
142
- # @return void
143
- def run_application
144
- config[:invoked_from_cli] = true
145
- config[:logger] = Ohai::Log.with_child
146
- ohai = Ohai::System.new(config)
147
- ohai.all_plugins(@attributes)
148
-
149
- if @attributes
150
- @attributes.each do |a|
151
- puts ohai.attributes_print(a)
152
- end
153
- else
154
- puts ohai.json_pretty_print
155
- end
156
- end
157
-
158
- class << self
159
- # Log a fatal error message to both STDERR and the Logger, exit the application
160
- # @param msg [String] the message to log
161
- # @param err [Integer] the exit code
162
- def fatal!(msg, err = -1)
163
- STDERR.puts("FATAL: #{msg}")
164
- Ohai::Log.fatal(msg)
165
- Process.exit err
166
- end
167
-
168
- # Log a debug message to the Logger and then exit the application
169
- # @param msg [String] the message to log
170
- # @param err [Integer] the exit code
171
- def exit!(msg, err = -1)
172
- Ohai::Log.debug(msg)
173
- Process.exit err
174
- end
175
- end
176
-
177
- private
178
-
179
- def load_workstation_config
180
- config_loader = ChefConfig::WorkstationConfigLoader.new(
181
- config[:config_file], Ohai::Log
182
- )
183
- begin
184
- config_loader.load
185
- rescue ChefConfig::ConfigurationError => config_error
186
- Ohai::Application.fatal!(config_error.message)
187
- end
188
- end
189
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Mathieu Sauve-Frankel <msf@kisoku.net>
4
+ # Copyright:: Copyright (c) 2009 Mathieu Sauve-Frankel.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ require "chef-config/path_helper"
20
+ require "chef-config/workstation_config_loader"
21
+ require_relative "../ohai"
22
+ require_relative "log" unless defined?(Ohai::Log)
23
+ require "mixlib/cli" unless defined?(Mixlib::CLI)
24
+ require "benchmark" unless defined?(Benchmark)
25
+
26
+ # The Application class is what is called by the Ohai CLI binary. It handles:
27
+ # - CLI options and attribute arguments
28
+ # - Collecting data via the Ohai::System class
29
+ # - Printing the results returned via the Ohai::System class
30
+ class Ohai::Application
31
+ include Mixlib::CLI
32
+
33
+ option :config_file,
34
+ short: "-c CONFIG",
35
+ long: "--config CONFIG",
36
+ description: "A configuration file to use",
37
+ proc: lambda { |path| File.expand_path(path, Dir.pwd) }
38
+
39
+ option :directory,
40
+ short: "-d DIRECTORY",
41
+ long: "--directory DIRECTORY",
42
+ description: "A directory to add to the Ohai plugin search path. If passing multiple directories use this option more than once.",
43
+ proc: lambda { |path, path_array|
44
+ (path_array ||= []) << Ohai::Config.platform_specific_path(path)
45
+ path_array
46
+ }
47
+
48
+ option :log_level,
49
+ short: "-l LEVEL",
50
+ long: "--log_level LEVEL",
51
+ description: "Set the log level (debug, info, warn, error, fatal)",
52
+ proc: lambda { |l| l.to_sym }
53
+
54
+ option :log_location,
55
+ short: "-L LOGLOCATION",
56
+ long: "--logfile LOGLOCATION",
57
+ description: "Set the log file location, defaults to STDOUT - recommended for daemonizing",
58
+ proc: nil
59
+
60
+ option :target,
61
+ short: "-t TARGET",
62
+ long: "--target TARGET",
63
+ description: "Target Ohai against a remote system or device",
64
+ proc: lambda { |target|
65
+ Ohai::Log.warn "-- EXPERIMENTAL -- Target mode activated -- EXPERIMENTAL --"
66
+ target
67
+ }
68
+
69
+ option :help,
70
+ short: "-h",
71
+ long: "--help",
72
+ description: "Show this message",
73
+ on: :tail,
74
+ boolean: true,
75
+ show_options: true,
76
+ exit: 0
77
+
78
+ option :version,
79
+ short: "-v",
80
+ long: "--version",
81
+ description: "Show Ohai version",
82
+ boolean: true,
83
+ proc: lambda { |v| puts "Ohai: #{::Ohai::VERSION}" },
84
+ exit: 0
85
+
86
+ # the method called by the Ohai binary to actually run the whole application
87
+ #
88
+ # @return void
89
+ def run
90
+ elapsed = Benchmark.realtime do
91
+ configure_ohai
92
+ run_application
93
+ end
94
+ Ohai::Log.debug("Ohai took #{elapsed} total seconds to run.")
95
+ end
96
+
97
+ # parses the CLI options, loads the config file if present, and initializes logging
98
+ #
99
+ # @return void
100
+ def configure_ohai
101
+ @attributes = parse_options
102
+ @attributes = nil if @attributes.empty?
103
+
104
+ load_workstation_config
105
+
106
+ merge_configs
107
+
108
+ if config[:target]
109
+ Ohai::Config.target_mode.host = config[:target]
110
+ if URI.parse(Ohai::Config.target_mode.host).scheme
111
+ train_config = Train.unpack_target_from_uri(Ohai::Config.target_mode.host)
112
+ Ohai::Config.target_mode = train_config
113
+ end
114
+ Ohai::Config.target_mode.enabled = true
115
+ Ohai::Config.node_name = Ohai::Config.target_mode.host unless Ohai::Config.node_name
116
+ end
117
+
118
+ Ohai::Log.init(Ohai.config[:log_location])
119
+ end
120
+
121
+ # @api private
122
+ def config_file_defaults
123
+ Ohai::Config.save(true)
124
+ end
125
+
126
+ # @api private
127
+ def config_file_settings
128
+ Ohai::Config.save(false)
129
+ end
130
+
131
+ # See lib/chef/knife.rb in the chef/chef github repo
132
+ #
133
+ # @api private
134
+ def merge_configs
135
+ config.replace(config_file_defaults.merge(default_config).merge(config_file_settings).merge(config))
136
+ Ohai::Config.merge!(config) # make them both the same
137
+ end
138
+
139
+ # Passes config and attributes arguments to Ohai::System then prints the results.
140
+ # Called by the run method after config / logging have been initialized
141
+ #
142
+ # @return void
143
+ def run_application
144
+ config[:invoked_from_cli] = true
145
+ config[:logger] = Ohai::Log.with_child
146
+ ohai = Ohai::System.new(config)
147
+ ohai.all_plugins(@attributes)
148
+
149
+ if @attributes
150
+ @attributes.each do |a|
151
+ puts ohai.attributes_print(a)
152
+ end
153
+ else
154
+ puts ohai.json_pretty_print
155
+ end
156
+ end
157
+
158
+ class << self
159
+ # Log a fatal error message to both STDERR and the Logger, exit the application
160
+ # @param msg [String] the message to log
161
+ # @param err [Integer] the exit code
162
+ def fatal!(msg, err = -1)
163
+ STDERR.puts("FATAL: #{msg}")
164
+ Ohai::Log.fatal(msg)
165
+ Process.exit err
166
+ end
167
+
168
+ # Log a debug message to the Logger and then exit the application
169
+ # @param msg [String] the message to log
170
+ # @param err [Integer] the exit code
171
+ def exit!(msg, err = -1)
172
+ Ohai::Log.debug(msg)
173
+ Process.exit err
174
+ end
175
+ end
176
+
177
+ private
178
+
179
+ def load_workstation_config
180
+ config_loader = ChefConfig::WorkstationConfigLoader.new(
181
+ config[:config_file], Ohai::Log
182
+ )
183
+ begin
184
+ config_loader.load
185
+ rescue ChefConfig::ConfigurationError => config_error
186
+ Ohai::Application.fatal!(config_error.message)
187
+ end
188
+ end
189
+ end