class Nucleon::Action::Node::SSH

Public Class Methods

describe() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/SSH.rb
10 def self.describe
11   super(:node, :ssh, 560)
12 end

Public Instance Methods

arguments() click to toggle source
   # File lib/nucleon/action/node/SSH.rb
48 def arguments
49   [ :ssh_nodes ]
50 end
configure() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/SSH.rb
17 def configure
18   super do
19     register :ssh_nodes, :array, nil do |values|
20       if values.nil?
21         warn('corl.actions.bootstrap.errors.ssh_nodes_empty')
22         next false 
23       end
24       
25       node_plugins = CORL.loaded_plugins(:CORL, :node)
26       success      = true
27       
28       values.each do |value|
29         if info = CORL.plugin_class(:CORL, :node).translate_reference(value)
30           if ! node_plugins.keys.include?(info[:provider].to_sym) || info[:name].empty?
31             warn('corl.actions.bootstrap.errors.ssh_nodes', { :value => value, :node_provider => info[:provider],  :name => info[:name] })
32             success = false
33           end
34         end
35       end
36       success
37     end      
38   end
39   config[:node_provider].default = :rackspace
40 end
execute() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/SSH.rb
55 def execute
56   super do |local_node|
57     ensure_network do
58       batch_success = network.batch(settings[:ssh_nodes], settings[:node_provider], false) do |node|
59         render_options = { :id => node.id, :hostname => node.hostname }
60         
61         info('corl.actions.ssh.start', render_options)
62         success = node.terminal(extended_config(:ssh, {}))
63         if success
64           info('corl.actions.ssh.success', render_options)
65         else
66           render_options[:status] = node.status
67           error('corl.actions.ssh.failure', render_options)
68         end
69         success
70       end
71       myself.status = code.batch_error unless batch_success
72     end
73   end
74 end
ignore() click to toggle source
   # File lib/nucleon/action/node/SSH.rb
44 def ignore
45   node_ignore - [ :net_provider, :node_provider ]
46 end