class Nucleon::Action::Node::Devkey
Public Class Methods
describe()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/devkey.rb 12 def self.describe 13 super(:node, :devkey, 530) 14 end
Public Instance Methods
arguments()
click to toggle source
# File lib/nucleon/action/node/devkey.rb 54 def arguments 55 [ :key_nodes ] 56 end
configure()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/devkey.rb 19 def configure 20 super do 21 codes :no_password_given 22 23 keypair_config 24 config[:require_password].default = true 25 26 register_array :key_nodes, nil do |values| 27 if values.nil? 28 warn('key_nodes_empty') 29 next false 30 end 31 32 node_plugins = CORL.loaded_plugins(:CORL, :node) 33 success = true 34 35 values.each do |value| 36 if info = CORL.plugin_class(:CORL, :node).translate_reference(value) 37 if ! node_plugins.keys.include?(info[:provider].to_sym) || info[:name].empty? 38 warn('key_nodes', { :value => value, :node_provider => info[:provider], :name => info[:name] }) 39 success = false 40 end 41 end 42 end 43 success 44 end 45 end 46 end
execute()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/devkey.rb 61 def execute 62 super do |local_node| 63 ensure_network do 64 keypair = keypair(true, false) 65 66 if keypair.nil? 67 myself.status = code.no_password_given 68 else 69 batch_success = network.batch(settings[:key_nodes], settings[:node_provider], false) do |node| 70 render_options = { :id => node.id, :hostname => node.hostname } 71 72 info('start', render_options) 73 node.attach_keys(keypair) 74 end 75 if batch_success 76 network.save({ :push => true, :remote => :edit }) 77 else 78 myself.status = code.batch_error 79 end 80 end 81 end 82 end 83 end
ignore()
click to toggle source
# File lib/nucleon/action/node/devkey.rb 50 def ignore 51 [ :nodes, :parallel ] 52 end