# 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 24
    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 151
    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.to_s}"
          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 146
    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 104
    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 94
    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 88
    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 84
    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 78
    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 122
    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 108
    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 136
    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 132
    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 217
    def handler_executed(handler)
    end

handlers_completed() click to toggle source

Called after all handlers have executed

    # File lib/chef/formatters/minimal.rb, line 221
    def handlers_completed
    end

handlers_start(handler_count) click to toggle source

Called before handlers run

    # File lib/chef/formatters/minimal.rb, line 213
    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 127
    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 229
    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 74
    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 69
    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 65
    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 46
    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 141
    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.

Calls superclass method Chef::Formatters::Base#registration_failed

    # File lib/chef/formatters/minimal.rb, line 61
    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 54
    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 100
    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 170
    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 187
    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 178
    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 174
    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 182
    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 191
    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 202
    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 207
    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 36
    def run_completed(node)
      puts "chef client finished, #{@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 41
    def run_failed(exception)
      puts "chef client failed. #{@updated_resources.size} resources updated"
    end

run_start(version) click to toggle source

Called at the very start of a Chef Run

    # File lib/chef/formatters/minimal.rb, line 31
    def run_start(version)
      puts "Starting Chef Client, version #{version}"
    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 50
    def skipping_registration(node_name, config)
    end

synchronized_cookbook(cookbook_name) click to toggle source

Called when cookbook `cookbook_name` has been sync’d

    # File lib/chef/formatters/minimal.rb, line 113
    def synchronized_cookbook(cookbook_name)
      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 118
    def updated_cookbook_file(cookbook_name, path)
    end