module Flare::Tools::Cli::IndexServerConfig
Constants
- Entity
- FLARE_INDEX_SERVER
- FLARE_INDEX_SERVERS
Private Instance Methods
get_index_server_from_cluster(name, envname = FLARE_INDEX_SERVERS)
click to toggle source
@return [Flare::Entity::Server | nil]
# File lib/flare/tools/cli/index_server_config.rb, line 33 def get_index_server_from_cluster(name, envname = FLARE_INDEX_SERVERS) return nil if name.nil? if ENV.has_key? envname clusters = ENV[envname].split(';').map{|s| s.split(':')} clusters.each do |cluster_name,index_name,index_port| return Entity::Server.new(index_name, index_port) if cluster_name == name end end return nil end
get_index_server_from_nodekeys(dnodekeys, envname = FLARE_INDEX_SERVERS)
click to toggle source
@return [Flare::Entity::Server | nil]
# File lib/flare/tools/cli/index_server_config.rb, line 45 def get_index_server_from_nodekeys(dnodekeys, envname = FLARE_INDEX_SERVERS) nodekeys = [] return nil if dnodekeys.empty? dnodekeys.each do |n| l = n.split(':') return nil if l.size < 2 nodekeys << "#{l[0]}:#{l[1]}" end if ENV.has_key? envname clusters = ENV[envname].split(';').map{|s| s.split(':')} clusters.each do |cluster_name,index_name,index_port| ret = Flare::Tools::IndexServer.open(index_name, index_port.to_i) do |s| cluster_nodekeys = s.stats_nodes.map {|x| x[0]} included = true nodekeys.each do |nodekey| included = false unless cluster_nodekeys.include? nodekey end if included Entity::Server.new(index_name, index_port) else nil end end return ret unless ret.nil? end end nil rescue => e debug(e.message) nil end
get_index_server_name_and_port(index_server, envname = FLARE_INDEX_SERVER)
click to toggle source
@param [Flare::Entity::Server] index_server @return [Flare::Entity::Server]
# File lib/flare/tools/cli/index_server_config.rb, line 79 def get_index_server_name_and_port(index_server, envname = FLARE_INDEX_SERVER) env_ihostname = nil env_iport = nil if ENV.has_key? envname env_ihostname, env_iport = ENV[envname].split(':') end ihostname, iport = index_server.host.split(':') unless index_server.host.nil? ihostname = ihostname || env_ihostname || DefaultIndexServerName if iport && index_server.port raise "--index-server-port option isn't allowed." else iport = index_server.port || env_iport || DefaultIndexServerPort if iport.nil? end Entity::Server.new(ihostname, iport) end
parse_index_server(config, rest)
click to toggle source
# File lib/flare/tools/cli/index_server_config.rb, line 17 def parse_index_server(config, rest) if @cluster @index_server_entity = get_index_server_from_cluster(@cluster) else @index_server_entity = get_index_server_from_nodekeys(rest) || get_index_server_name_and_port(Entity::Server.new(@index_server_host, @index_server_port)) end return unless @index_server_entity config[:index_server_hostname] = @index_server_entity.host config[:index_server_port] = @index_server_entity.port end