Parent

Files

Class/Module Index [+]

Quicksearch

Shell::DoppelGangerClient

Attributes

node_name[R]

Public Class Methods

new(node_name) click to toggle source
# File lib/chef/shell/shell_session.rb, line 230
def initialize(node_name)
  @node_name = node_name
  @ohai = Ohai::System.new
end

Public Instance Methods

build_node() click to toggle source

DoppelGanger implementation of build_node. preserves as many of the node's attributes, and does not save updates to the server

# File lib/chef/shell/shell_session.rb, line 243
def build_node
  Chef::Log.debug("Building node object for #{@node_name}")
  @node = Chef::Node.find_or_create(node_name)
  ohai_data = @ohai.data.merge(@node.automatic_attrs)
  @node.consume_external_attrs(ohai_data,nil)
  @run_list_expansion = @node.expand!('server')
  @expanded_run_list_with_versions = @run_list_expansion.recipes.with_version_constraints_strings
  Chef::Log.info("Run List is [#{@node.run_list}]")
  Chef::Log.info("Run List expands to [#{@expanded_run_list_with_versions.join(', ')}]")
  @node
end
register() click to toggle source
# File lib/chef/shell/shell_session.rb, line 255
def register
  @rest = Chef::REST.new(Chef::Config[:chef_server_url], Chef::Config[:node_name], Chef::Config[:client_key])
end
run_ohai() click to toggle source

Run the very smallest amount of ohai we can get away with and still hope to have things work. Otherwise we're not very good doppelgangers

# File lib/chef/shell/shell_session.rb, line 237
def run_ohai
  @ohai.require_plugin('os')
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.