Class: Chef::Formatters::Minimal
- Inherits:
-
Base
- Object
- EventDispatch::Base
- Base
- Chef::Formatters::Minimal
- Defined in:
- lib/chef/formatters/minimal.rb
Overview
== Formatters::Minimal Shows the progress of the chef run by printing single characters, and displays a summary of updates at the conclusion of the run. For events that don't have meaningful status information (loading a file, syncing a cookbook) a dot is printed. For resources, a dot, 'S' or 'U' is printed if the resource is up to date, skipped by not_if/only_if, or updated, respectively.
Instance Attribute Summary collapse
-
#updated_resources ⇒ Object
readonly
Returns the value of attribute updated_resources.
-
#updates_by_resource ⇒ Object
readonly
Returns the value of attribute updates_by_resource.
Attributes inherited from Base
Instance Method Summary collapse
-
#converge_complete ⇒ Object
Called when the converge phase is finished.
-
#converge_start(run_context) ⇒ Object
Called before convergence starts.
-
#cookbook_clean_complete ⇒ Object
Called when cookbook cleaning is finished.
-
#cookbook_clean_start ⇒ Object
Called before unneeded cookbooks are removed -- TODO: Should be called in CookbookVersion.sync_cookbooks.
-
#cookbook_resolution_complete(cookbook_collection) ⇒ Object
Called when the cookbook collection is returned from the server.
-
#cookbook_resolution_failed(expanded_run_list, exception) ⇒ Object
Called when there is an error getting the cookbook collection from the server.
-
#cookbook_resolution_start(expanded_run_list) ⇒ Object
Called before the cookbook collection is fetched from the server.
-
#cookbook_sync_complete ⇒ Object
Called after all cookbooks have been sync'd.
-
#cookbook_sync_start(cookbook_count) ⇒ Object
Called before cookbook sync starts.
- #file_load_failed(path, exception) ⇒ Object
-
#file_loaded(path) ⇒ Object
Called after a file in a cookbook is loaded.
-
#handler_executed(handler) ⇒ Object
Called after an individual handler has run.
-
#handlers_completed ⇒ Object
Called after all handlers have executed.
-
#handlers_start(handler_count) ⇒ Object
Called before handlers run.
-
#initialize(out, err) ⇒ Minimal
constructor
A new instance of Minimal.
-
#library_load_start(file_count) ⇒ Object
Called when cookbook loading starts.
-
#msg(message) ⇒ Object
An uncategorized message.
-
#node_load_completed(node, expanded_run_list, config) ⇒ Object
Default and override attrs from roles have been computed, but not yet applied.
-
#node_load_failed(node_name, exception, config) ⇒ Object
Failed to load node data from the server.
- #node_load_start(node_name, config) ⇒ Object
-
#ohai_completed(node) ⇒ Object
Called right after ohai runs.
-
#recipe_load_complete ⇒ Object
Called when recipes have been loaded.
- #registration_completed ⇒ Object
-
#registration_failed(node_name, exception, config) ⇒ Object
Failed to register this client with the server.
-
#registration_start(node_name, config) ⇒ Object
About to attempt to register as +node_name+.
-
#removed_cookbook_file(path) ⇒ Object
Called after the file at +path+ is removed.
-
#resource_action_start(resource, action, notification_type = nil, notifier = nil) ⇒ Object
Called before action is executed on a resource.
-
#resource_current_state_loaded(resource, action, current_resource) ⇒ Object
Called after #load_current_resource has run.
-
#resource_failed(resource, action, exception) ⇒ Object
Called when a resource fails and will not be retried.
-
#resource_failed_retriable(resource, action, retry_count, exception) ⇒ Object
Called when a resource fails, but will retry.
-
#resource_skipped(resource, action, conditional) ⇒ Object
Called when a resource action has been skipped b/c of a conditional.
-
#resource_up_to_date(resource, action) ⇒ Object
Called when a resource has no converge actions, e.g., it was already correct.
-
#resource_update_applied(resource, action, update) ⇒ Object
Called when a change has been made to a resource.
-
#resource_updated(resource, action) ⇒ Object
Called after a resource has been completely converged.
-
#run_completed(node) ⇒ Object
Called at the end of the Chef run.
-
#run_failed(exception) ⇒ Object
called at the end of a failed run.
-
#run_start(version, run_status) ⇒ Object
Called at the very start of a Chef Run.
-
#skipping_registration(node_name, config) ⇒ Object
Already have a client key, assuming this node has registered.
-
#synchronized_cookbook(cookbook_name, cookbook) ⇒ Object
Called when cookbook +cookbook+ has been sync'd.
-
#updated_cookbook_file(cookbook_name, path) ⇒ Object
Called when an individual file in a cookbook has been updated.
Methods inherited from Base
#attribute_file_load_failed, #attribute_file_loaded, cli_name, #cookbook_sync_failed, #definition_file_load_failed, #definition_file_loaded, #deprecation, #display_error, #indent_by, #is_formatter?, #is_structured_deprecation?, #library_file_load_failed, #library_file_loaded, #lwrp_file_load_failed, #lwrp_file_loaded, #print, #puts, #puts_line, #recipe_file_load_failed, #recipe_file_loaded, #recipe_not_found, #run_list_expand_failed, #start_line
Methods included from ErrorMapper
cookbook_resolution_failed, cookbook_sync_failed, file_load_failed, node_load_failed, registration_failed, resource_failed, run_list_expand_failed
Methods inherited from EventDispatch::Base
#action_collection_registration, #attribute_changed, #attribute_file_load_failed, #attribute_file_loaded, #attribute_load_complete, #attribute_load_start, #compliance_input_enabled, #compliance_input_loaded, #compliance_load_complete, #compliance_load_start, #compliance_profile_enabled, #compliance_profile_loaded, #compliance_waiver_enabled, #compliance_waiver_loaded, #converge_failed, #cookbook_compilation_complete, #cookbook_compilation_start, #cookbook_gem_failed, #cookbook_gem_finished, #cookbook_gem_installing, #cookbook_gem_start, #cookbook_gem_using, #cookbook_sync_failed, #definition_file_load_failed, #definition_file_loaded, #definition_load_complete, #definition_load_start, #deprecation, #inputs_load_complete, #inputs_load_start, #key_migration_status, #library_file_load_failed, #library_file_loaded, #library_load_complete, #lwrp_file_load_failed, #lwrp_file_loaded, #lwrp_load_complete, #lwrp_load_start, #node_load_success, #ohai_plugin_file_load_failed, #ohai_plugin_file_loaded, #ohai_plugin_load_complete, #ohai_plugin_load_start, #policyfile_loaded, #profiles_load_complete, #profiles_load_start, #provider_requirement_failed, #recipe_file_load_failed, #recipe_file_loaded, #recipe_load_start, #recipe_not_found, #resource_after_state_loaded, #resource_bypassed, #resource_completed, #resource_current_state_load_bypassed, #resource_update_progress, #run_list_expand_failed, #run_list_expanded, #run_started, #stream_closed, #stream_opened, #stream_output, #waivers_load_complete, #waivers_load_start, #whyrun_assumption
Constructor Details
#initialize(out, err) ⇒ Minimal
Returns a new instance of Minimal.
23 24 25 26 27 |
# File 'lib/chef/formatters/minimal.rb', line 23 def initialize(out, err) super @updated_resources = [] @updates_by_resource = Hash.new { |h, k| h[k] = [] } end |
Instance Attribute Details
#updated_resources ⇒ Object (readonly)
Returns the value of attribute updated_resources.
20 21 22 |
# File 'lib/chef/formatters/minimal.rb', line 20 def updated_resources @updated_resources end |
#updates_by_resource ⇒ Object (readonly)
Returns the value of attribute updates_by_resource.
21 22 23 |
# File 'lib/chef/formatters/minimal.rb', line 21 def updates_by_resource @updates_by_resource end |
Instance Method Details
#converge_complete ⇒ Object
Called when the converge phase is finished.
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/chef/formatters/minimal.rb', line 141 def converge_complete puts "\n" puts "System converged." if updated_resources.empty? puts "no resources updated" else puts "\n" puts "resources updated this run:" updated_resources.each do |resource| puts "* #{resource}" updates_by_resource[resource.name].flatten.each do |update| puts " - #{update}" end puts "\n" end end end |
#converge_start(run_context) ⇒ Object
Called before convergence starts
136 137 138 |
# File 'lib/chef/formatters/minimal.rb', line 136 def converge_start(run_context) puts "Converging #{run_context.resource_collection.all_resources.size} resources" end |
#cookbook_clean_complete ⇒ Object
Called when cookbook cleaning is finished.
96 |
# File 'lib/chef/formatters/minimal.rb', line 96 def cookbook_clean_complete; end |
#cookbook_clean_start ⇒ Object
Called before unneeded cookbooks are removed
TODO: Should be called in CookbookVersion.sync_cookbooks
88 |
# File 'lib/chef/formatters/minimal.rb', line 88 def cookbook_clean_start; end |
#cookbook_resolution_complete(cookbook_collection) ⇒ Object
Called when the cookbook collection is returned from the server.
83 |
# File 'lib/chef/formatters/minimal.rb', line 83 def cookbook_resolution_complete(cookbook_collection); end |
#cookbook_resolution_failed(expanded_run_list, exception) ⇒ Object
Called when there is an error getting the cookbook collection from the server.
80 |
# File 'lib/chef/formatters/minimal.rb', line 80 def cookbook_resolution_failed(, exception); end |
#cookbook_resolution_start(expanded_run_list) ⇒ Object
Called before the cookbook collection is fetched from the server.
74 75 76 |
# File 'lib/chef/formatters/minimal.rb', line 74 def cookbook_resolution_start() puts "Resolving cookbooks for run list: #{.inspect}" end |
#cookbook_sync_complete ⇒ Object
Called after all cookbooks have been sync'd.
112 113 114 |
# File 'lib/chef/formatters/minimal.rb', line 112 def cookbook_sync_complete puts "done." end |
#cookbook_sync_start(cookbook_count) ⇒ Object
Called before cookbook sync starts
99 100 101 |
# File 'lib/chef/formatters/minimal.rb', line 99 def cookbook_sync_start(cookbook_count) puts "Synchronizing cookbooks" end |
#file_load_failed(path, exception) ⇒ Object
126 127 128 |
# File 'lib/chef/formatters/minimal.rb', line 126 def file_load_failed(path, exception) super end |
#file_loaded(path) ⇒ Object
Called after a file in a cookbook is loaded.
122 123 124 |
# File 'lib/chef/formatters/minimal.rb', line 122 def file_loaded(path) print "." end |
#handler_executed(handler) ⇒ Object
Called after an individual handler has run
202 |
# File 'lib/chef/formatters/minimal.rb', line 202 def handler_executed(handler); end |
#handlers_completed ⇒ Object
Called after all handlers have executed
205 |
# File 'lib/chef/formatters/minimal.rb', line 205 def handlers_completed; end |
#handlers_start(handler_count) ⇒ Object
Called before handlers run
199 |
# File 'lib/chef/formatters/minimal.rb', line 199 def handlers_start(handler_count); end |
#library_load_start(file_count) ⇒ Object
Called when cookbook loading starts.
117 118 119 |
# File 'lib/chef/formatters/minimal.rb', line 117 def library_load_start(file_count) puts "Compiling cookbooks" end |
#msg(message) ⇒ Object
An uncategorized message. This supports the case that a user needs to pass output that doesn't fit into one of the callbacks above. Note that there's no semantic information about the content or importance of the message. That means that if you're using this too often, you should add a callback for it.
212 |
# File 'lib/chef/formatters/minimal.rb', line 212 def msg(); end |
#node_load_completed(node, expanded_run_list, config) ⇒ Object
Default and override attrs from roles have been computed, but not yet applied. Normal attrs from JSON have been added to the node.
71 |
# File 'lib/chef/formatters/minimal.rb', line 71 def node_load_completed(node, , config); end |
#node_load_failed(node_name, exception, config) ⇒ Object
Failed to load node data from the server
67 |
# File 'lib/chef/formatters/minimal.rb', line 67 def node_load_failed(node_name, exception, config); end |
#node_load_start(node_name, config) ⇒ Object
64 |
# File 'lib/chef/formatters/minimal.rb', line 64 def node_load_start(node_name, config); end |
#ohai_completed(node) ⇒ Object
Called right after ohai runs.
49 |
# File 'lib/chef/formatters/minimal.rb', line 49 def ohai_completed(node); end |
#recipe_load_complete ⇒ Object
Called when recipes have been loaded.
131 132 133 |
# File 'lib/chef/formatters/minimal.rb', line 131 def recipe_load_complete puts "done." end |
#registration_completed ⇒ Object
57 |
# File 'lib/chef/formatters/minimal.rb', line 57 def registration_completed; end |
#registration_failed(node_name, exception, config) ⇒ Object
Failed to register this client with the server.
60 61 62 |
# File 'lib/chef/formatters/minimal.rb', line 60 def registration_failed(node_name, exception, config) super end |
#registration_start(node_name, config) ⇒ Object
About to attempt to register as +node_name+
55 |
# File 'lib/chef/formatters/minimal.rb', line 55 def registration_start(node_name, config); end |
#removed_cookbook_file(path) ⇒ Object
Called after the file at +path+ is removed. It may be removed if the cookbook containing it was removed from the run list, or if the file was removed from the cookbook.
93 |
# File 'lib/chef/formatters/minimal.rb', line 93 def removed_cookbook_file(path); end |
#resource_action_start(resource, action, notification_type = nil, notifier = nil) ⇒ Object
Called before action is executed on a resource.
160 |
# File 'lib/chef/formatters/minimal.rb', line 160 def resource_action_start(resource, action, notification_type = nil, notifier = nil); end |
#resource_current_state_loaded(resource, action, current_resource) ⇒ Object
Called after #load_current_resource has run.
174 |
# File 'lib/chef/formatters/minimal.rb', line 174 def resource_current_state_loaded(resource, action, current_resource); end |
#resource_failed(resource, action, exception) ⇒ Object
Called when a resource fails and will not be retried.
166 |
# File 'lib/chef/formatters/minimal.rb', line 166 def resource_failed(resource, action, exception); end |
#resource_failed_retriable(resource, action, retry_count, exception) ⇒ Object
Called when a resource fails, but will retry.
163 |
# File 'lib/chef/formatters/minimal.rb', line 163 def resource_failed_retriable(resource, action, retry_count, exception); end |
#resource_skipped(resource, action, conditional) ⇒ Object
Called when a resource action has been skipped b/c of a conditional
169 170 171 |
# File 'lib/chef/formatters/minimal.rb', line 169 def resource_skipped(resource, action, conditional) print "S" end |
#resource_up_to_date(resource, action) ⇒ Object
Called when a resource has no converge actions, e.g., it was already correct.
177 178 179 |
# File 'lib/chef/formatters/minimal.rb', line 177 def resource_up_to_date(resource, action) print "." end |
#resource_update_applied(resource, action, update) ⇒ Object
Called when a change has been made to a resource. May be called multiple times per resource, e.g., a file may have its content updated, and then its permissions updated.
188 189 190 |
# File 'lib/chef/formatters/minimal.rb', line 188 def resource_update_applied(resource, action, update) @updates_by_resource[resource.name] << Array(update)[0] end |
#resource_updated(resource, action) ⇒ Object
Called after a resource has been completely converged.
193 194 195 196 |
# File 'lib/chef/formatters/minimal.rb', line 193 def resource_updated(resource, action) updated_resources << resource print "U" end |
#run_completed(node) ⇒ Object
Called at the end of the Chef run.
39 40 41 |
# File 'lib/chef/formatters/minimal.rb', line 39 def run_completed(node) puts "Infra phase complete, #{@updated_resources.size} resources updated" end |
#run_failed(exception) ⇒ Object
called at the end of a failed run
44 45 46 |
# File 'lib/chef/formatters/minimal.rb', line 44 def run_failed(exception) puts "Infra phase failed. #{@updated_resources.size} resources updated" end |
#run_start(version, run_status) ⇒ Object
Called at the very start of a Chef Run
30 31 32 33 34 35 36 |
# File 'lib/chef/formatters/minimal.rb', line 30 def run_start(version, run_status) puts_line "#{ChefUtils::Dist::Infra::PRODUCT}, version #{version}" puts_line "Patents: #{ChefUtils::Dist::Org::PATENTS}" puts_line "OpenSSL FIPS 140 mode enabled" if Chef::Config[:fips] puts_line "Infra Phase starting" puts_line "Targeting node: #{Chef::Config.target_mode.host}" if Chef::Config.target_mode? end |
#skipping_registration(node_name, config) ⇒ Object
Already have a client key, assuming this node has registered.
52 |
# File 'lib/chef/formatters/minimal.rb', line 52 def skipping_registration(node_name, config); end |
#synchronized_cookbook(cookbook_name, cookbook) ⇒ Object
Called when cookbook +cookbook+ has been sync'd
104 105 106 |
# File 'lib/chef/formatters/minimal.rb', line 104 def synchronized_cookbook(cookbook_name, cookbook) print "." end |
#updated_cookbook_file(cookbook_name, path) ⇒ Object
Called when an individual file in a cookbook has been updated
109 |
# File 'lib/chef/formatters/minimal.rb', line 109 def updated_cookbook_file(cookbook_name, path); end |