class Nucleon::Action::Node::Status
Public Class Methods
describe()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/status.rb 10 def self.describe 11 super(:node, :status, 800) 12 end
Public Instance Methods
arguments()
click to toggle source
# File lib/nucleon/action/node/status.rb 32 def arguments 33 [ :status_nodes ] 34 end
configure()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/status.rb 17 def configure 18 super do 19 codes :network_save_failed 20 21 register_nodes :status_nodes, [] 22 register_bool :basic 23 end 24 end
execute()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/status.rb 39 def execute 40 super do |local_node| 41 ensure_network do 42 settings[:status_nodes] = [ 'all' ] if settings[:status_nodes].empty? 43 44 batch_success = network.batch(settings[:status_nodes], settings[:node_provider], settings[:parallel]) do |node| 45 unless node.is_a?(Nucleon.provider_class(:CORL, :node, :local)) 46 state = node.state(true) 47 state = state.nil? ? :aborted : state.to_sym 48 ssh_enabled = '' 49 50 case state 51 when :running, :active 52 state = green(state.to_s) 53 54 unless settings[:basic] 55 result = node.cli.test :true 56 57 if result.status == code.success 58 ssh_enabled = '[ ' + green('SSH connected') + ' ]' 59 else 60 ssh_enabled = '[ ' + red('SSH connection failed') + ' ]' 61 end 62 end 63 64 when :stopped, :aborted 65 state = red(state.to_s) 66 end 67 info(state.to_s + " #{ssh_enabled}".rstrip, { :i18n => false, :prefix_text => yellow(node.plugin_provider) + ' ' + purple(node.plugin_name) }) 68 end 69 true 70 end 71 if batch_success 72 success = network.save({ :push => true, :remote => :edit, :message => "Updating node status information.", :allow_empty => true }) 73 myself.status = code.network_save_failed unless success 74 else 75 myself.status = code.batch_error 76 end 77 end 78 end 79 end
ignore()
click to toggle source
# File lib/nucleon/action/node/status.rb 28 def ignore 29 [ :nodes ] 30 end