class Flare::Tools::Cli::Remove
Public Class Methods
new()
click to toggle source
Calls superclass method
Flare::Tools::Cli::SubCommand::new
# File lib/flare/tools/cli/remove.rb, line 35 def initialize super @retry = 0 end
Public Instance Methods
execute(config, args)
click to toggle source
# File lib/flare/tools/cli/remove.rb, line 40 def execute(config, args) parse_index_server(config, args) nodes = parse_host_port_pairs(args) unless nodes return S_NG end Flare::Tools::IndexServer.open(config[:index_server_hostname], config[:index_server_port], @timeout) do |s| cluster = fetch_cluster(s) nodes.each do |node| node_stat = cluster.node_stat(node.nodekey) unless node_stat error "node not found in cluster. (node=#{node})" next end # check status downed & proxy unless node_can_remove_safely?(node_stat) error "node should role=proxy and state=down. (node=#{node} role=#{node_stat.role} state=#{node_stat.state})" return S_NG end # ask really remove or not unless @force || ask_node_remove(node, node_stat) return S_NG end succeeded = node_remove(s, node, @retry, @dry_run) unless succeeded error "node remove failed. (node=#{node})" return S_NG end end # puts node list after nodes removed puts "" puts string_of_nodelist(s.stats_nodes) return S_OK end end
setup()
click to toggle source
Calls superclass method
Flare::Tools::Cli::SubCommand#setup
# File lib/flare/tools/cli/remove.rb, line 27 def setup super set_option_index_server set_option_dry_run set_option_force @optp.on('--retry=COUNT', "retry count(default:#{@retry})") {|v| @retry = v.to_i } end