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