class Chef::Formatters::Minimal

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.

Attributes

updated_resources[R]
updates_by_resource[R]

Public Class Methods

new(out, err) click to toggle source
Calls superclass method Chef::Formatters::Base::new
# 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

Public Instance Methods

converge_complete() click to toggle source

Called when the converge phase is finished.

# 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) click to toggle source

Called before convergence starts

# 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() click to toggle source

Called when cookbook cleaning is finished.

# File lib/chef/formatters/minimal.rb, line 96
def cookbook_clean_complete; end
cookbook_clean_start() click to toggle source

Called before unneeded cookbooks are removed

# File lib/chef/formatters/minimal.rb, line 88
def cookbook_clean_start; end
cookbook_resolution_complete(cookbook_collection) click to toggle source

Called when the cookbook collection is returned from the server.

# File lib/chef/formatters/minimal.rb, line 83
def cookbook_resolution_complete(cookbook_collection); end
cookbook_resolution_failed(expanded_run_list, exception) click to toggle source

Called when there is an error getting the cookbook collection from the server.

# File lib/chef/formatters/minimal.rb, line 80
def cookbook_resolution_failed(expanded_run_list, exception); end
cookbook_resolution_start(expanded_run_list) click to toggle source

Called before the cookbook collection is fetched from the server.

# File lib/chef/formatters/minimal.rb, line 74
def cookbook_resolution_start(expanded_run_list)
  puts "Resolving cookbooks for run list: #{expanded_run_list.inspect}"
end
cookbook_sync_complete() click to toggle source

Called after all cookbooks have been sync'd.

# File lib/chef/formatters/minimal.rb, line 112
def cookbook_sync_complete
  puts "done."
end
cookbook_sync_start(cookbook_count) click to toggle source

Called before cookbook sync starts

# File lib/chef/formatters/minimal.rb, line 99
def cookbook_sync_start(cookbook_count)
  puts "Synchronizing cookbooks"
end
file_load_failed(path, exception) click to toggle source
Calls superclass method Chef::Formatters::Base#file_load_failed
# File lib/chef/formatters/minimal.rb, line 126
def file_load_failed(path, exception)
  super
end
file_loaded(path) click to toggle source

Called after a file in a cookbook is loaded.

# File lib/chef/formatters/minimal.rb, line 122
def file_loaded(path)
  print "."
end
handler_executed(handler) click to toggle source

Called after an individual handler has run

# File lib/chef/formatters/minimal.rb, line 202
def handler_executed(handler); end
handlers_completed() click to toggle source

Called after all handlers have executed

# File lib/chef/formatters/minimal.rb, line 205
def handlers_completed; end
handlers_start(handler_count) click to toggle source

Called before handlers run

# File lib/chef/formatters/minimal.rb, line 199
def handlers_start(handler_count); end
library_load_start(file_count) click to toggle source

Called when cookbook loading starts.

# File lib/chef/formatters/minimal.rb, line 117
def library_load_start(file_count)
  puts "Compiling cookbooks"
end
msg(message) click to toggle source

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.

# File lib/chef/formatters/minimal.rb, line 212
def msg(message); end
node_load_completed(node, expanded_run_list, config) click to toggle source

Default and override attrs from roles have been computed, but not yet applied. Normal attrs from JSON have been added to the node.

# File lib/chef/formatters/minimal.rb, line 71
def node_load_completed(node, expanded_run_list, config); end
node_load_failed(node_name, exception, config) click to toggle source

Failed to load node data from the server

# File lib/chef/formatters/minimal.rb, line 67
def node_load_failed(node_name, exception, config); end
node_load_start(node_name, config) click to toggle source
# File lib/chef/formatters/minimal.rb, line 64
def node_load_start(node_name, config); end
ohai_completed(node) click to toggle source

Called right after ohai runs.

# File lib/chef/formatters/minimal.rb, line 49
def ohai_completed(node); end
recipe_load_complete() click to toggle source

Called when recipes have been loaded.

# File lib/chef/formatters/minimal.rb, line 131
def recipe_load_complete
  puts "done."
end
registration_completed() click to toggle source
# File lib/chef/formatters/minimal.rb, line 57
def registration_completed; end
registration_failed(node_name, exception, config) click to toggle source

Failed to register this client with the server.

# File lib/chef/formatters/minimal.rb, line 60
def registration_failed(node_name, exception, config)
  super
end
registration_start(node_name, config) click to toggle source

About to attempt to register as node_name

# File lib/chef/formatters/minimal.rb, line 55
def registration_start(node_name, config); end
removed_cookbook_file(path) click to toggle source

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.

# File lib/chef/formatters/minimal.rb, line 93
def removed_cookbook_file(path); end
resource_action_start(resource, action, notification_type = nil, notifier = nil) click to toggle source

Called before action is executed on a resource.

# 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) click to toggle source

Called after load_current_resource has run.

# File lib/chef/formatters/minimal.rb, line 174
def resource_current_state_loaded(resource, action, current_resource); end
resource_failed(resource, action, exception) click to toggle source

Called when a resource fails and will not be retried.

# File lib/chef/formatters/minimal.rb, line 166
def resource_failed(resource, action, exception); end
resource_failed_retriable(resource, action, retry_count, exception) click to toggle source

Called when a resource fails, but will retry.

# File lib/chef/formatters/minimal.rb, line 163
def resource_failed_retriable(resource, action, retry_count, exception); end
resource_skipped(resource, action, conditional) click to toggle source

Called when a resource action has been skipped b/c of a conditional

# File lib/chef/formatters/minimal.rb, line 169
def resource_skipped(resource, action, conditional)
  print "S"
end
resource_up_to_date(resource, action) click to toggle source

Called when a resource has no converge actions, e.g., it was already correct.

# File lib/chef/formatters/minimal.rb, line 177
def resource_up_to_date(resource, action)
  print "."
end
resource_update_applied(resource, action, update) click to toggle source

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.

# 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) click to toggle source

Called after a resource has been completely converged.

# File lib/chef/formatters/minimal.rb, line 193
def resource_updated(resource, action)
  updated_resources << resource
  print "U"
end
run_completed(node) click to toggle source

Called at the end of the Chef run.

# 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) click to toggle source

called at the end of a failed run

# 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) click to toggle source

Called at the very start of a Chef Run

# 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) click to toggle source

Already have a client key, assuming this node has registered.

# File lib/chef/formatters/minimal.rb, line 52
def skipping_registration(node_name, config); end
synchronized_cookbook(cookbook_name, cookbook) click to toggle source

Called when cookbook cookbook has been sync'd

# File lib/chef/formatters/minimal.rb, line 104
def synchronized_cookbook(cookbook_name, cookbook)
  print "."
end
updated_cookbook_file(cookbook_name, path) click to toggle source

Called when an individual file in a cookbook has been updated

# File lib/chef/formatters/minimal.rb, line 109
def updated_cookbook_file(cookbook_name, path); end