Class/Module Index [+]

Quicksearch

Ironfan::Provider::ChefServer::Node

Public Class Methods

create!(computer) click to toggle source

Manipulation

# File lib/ironfan/provider/chef/node.rb, line 113
def self.create!(computer)
  return if computer.node?
  node = Node.new
  node.name           computer.server.full_name
  node.create!        computer
  computer.node =     node
  remember            node
end
destroy!(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 122
def self.destroy!(computer)
  return unless computer.node?
  forget computer.node.name
  computer.node.destroy
  computer.delete(:node)
end
expected_ids(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 42
def self.expected_ids(computer) [computer.server.full_name];   end
load!(cluster=nil) click to toggle source

Discovery

# File lib/ironfan/provider/chef/node.rb, line 89
def self.load!(cluster=nil)
  query = cluster && "name:#{cluster.name}-*"
  ChefServer.search(:node, query) do |raw|
    next unless raw.present?
    node = register(raw)
    Chef::Log.debug("Loaded #{node}")
  end
end
multiple?() click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 39
def self.multiple?()            false;  end
new(*args) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 28
def initialize(*args)
  super
  self.adaptee ||= Chef::Node.new
end
resource_type() click to toggle source

def self.resource_type() self; end

# File lib/ironfan/provider/chef/node.rb, line 41
def self.resource_type()        :node;   end
save!(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 129
def self.save!(computer)
  return unless computer.node?
  computer.node.save! computer
end
shared?() click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 38
def self.shared?()              false;  end
validate_computer!(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 105
def self.validate_computer!(computer)
  return unless computer.node and not computer[:client]
  computer.node.bogus << :node_without_client
end

Public Instance Methods

announce_state(state) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 77
def announce_state state
  set[:state] = state
  save
end
conterminous_with_machine?() click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 82
def conterminous_with_machine?
  true
end
create!(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 54
def create!(computer)
  prepare_from computer

  client = computer[:client]
  unless File.exists?(client.key_filename)
    raise("Cannot create chef node #{name} -- client #{@chef_client} exists but no client key found in #{client.key_filename}.")
  end
  ChefServer.post_rest("nodes", adaptee, :client => client)
end
on_correlate(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 98
def on_correlate(computer)
  return unless self['volumes']
  self['volumes'].each do |name,volume|
    computer.drive(name).node.merge! volume
  end
end
prepare_from(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 64
def prepare_from(computer)
  organization =                Chef::Config.organization
  normal[:organization] =       organization unless organization.nil?
  server =                      computer.server
  chef_environment(server.environment.to_s)
  run_list.instance_eval        { @run_list_items = server.run_list }
  normal[:cluster_name] =       server.cluster_name
  normal[:facet_name] =         server.facet_name
  normal[:permanent] =          computer.permanent?
  normal[:volumes] =            {}
  computer.drives.each {|d| normal[:volumes][d.name] = d.node}
end
save!(computer) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 49
def save!(computer)
  prepare_from computer
  save
end
to_display(style,values={}) click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 44
def to_display(style,values={})
  values["Chef?"] =     adaptee.nil? ? "no" : "yes"
  values
end
to_s() click to toggle source
# File lib/ironfan/provider/chef/node.rb, line 33
def to_s
  "<%-15s %-23s %s>" % [
    self.class.handle, name, run_list]
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.