class Nucleon::Action::Node::Upload
Public Class Methods
describe()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/upload.rb 10 def self.describe 11 super(:node, :upload, 500) 12 end
Public Instance Methods
arguments()
click to toggle source
# File lib/nucleon/action/node/upload.rb 53 def arguments 54 [ :local_path, :remote_path, :upload_nodes ] 55 end
configure()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/upload.rb 17 def configure 18 super do 19 register_str :local_path, nil 20 register_str :remote_path, nil 21 register_str :file_mode, '0755' 22 23 register_bool :progress, true 24 25 register_array :upload_nodes, nil do |values| 26 if values.nil? 27 warn('upload_nodes_empty') 28 next false 29 end 30 31 node_plugins = CORL.loaded_plugins(:CORL, :node) 32 success = true 33 34 values.each do |value| 35 if info = CORL.plugin_class(:CORL, :node).translate_reference(value) 36 if ! node_plugins.keys.include?(info[:provider].to_sym) || info[:name].empty? 37 warn('upload_nodes', { :value => value, :node_provider => info[:provider], :name => info[:name] }) 38 success = false 39 end 40 end 41 end 42 success 43 end 44 end 45 end
execute()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/upload.rb 60 def execute 61 super do |local_node| 62 ensure_network do 63 batch_success = network.batch(settings[:upload_nodes], settings[:node_provider], settings[:parallel]) do |node| 64 render_options = { :id => node.id, :hostname => node.hostname, :local_path => settings[:local_path], :remote_path => settings[:remote_path] } 65 66 info('start', render_options) 67 success = node.send_files(settings[:local_path], settings[:remote_path], nil, settings[:file_mode], { :progress => settings[:progress] }) 68 69 if success 70 success('complete', render_options) 71 else 72 error('failure', render_options) 73 end 74 success 75 end 76 myself.status = code.batch_error unless batch_success 77 end 78 end 79 end
ignore()
click to toggle source
# File lib/nucleon/action/node/upload.rb 49 def ignore 50 [ :nodes ] 51 end