in ambari-infra-solr-client/src/main/python/migrationHelper.py [0:0]
def get_solr_urls(options, config, collection, collections_json):
solr_urls = []
solr_hosts = None
solr_port = "8886"
solr_protocol = "http"
if config.has_section("infra_solr") and config.has_option("infra_solr", "port"):
solr_port = config.get('infra_solr', 'port')
if config.has_section("infra_solr") and config.has_option("infra_solr", "protocol"):
solr_protocol = config.get('infra_solr', 'protocol')
if config.has_section('infra_solr') and config.has_option('infra_solr', 'hosts'):
solr_hosts = config.get('infra_solr', 'hosts')
splitted_solr_hosts = solr_hosts.split(',')
splitted_solr_hosts = filter_solr_hosts_if_match_any(splitted_solr_hosts, collection, collections_json)
if options.include_solr_hosts:
# keep only included ones, do not override any
include_solr_hosts_list = options.include_solr_hosts.split(',')
new_splitted_hosts = []
for host in splitted_solr_hosts:
if any(inc_solr_host in host for inc_solr_host in include_solr_hosts_list):
new_splitted_hosts.append(host)
splitted_solr_hosts = new_splitted_hosts
if options.exclude_solr_hosts:
exclude_solr_hosts_list = options.exclude_solr_hosts.split(',')
hosts_to_exclude = []
for host in splitted_solr_hosts:
if any(exc_solr_host in host for exc_solr_host in exclude_solr_hosts_list):
hosts_to_exclude.append(host)
for excluded_url in hosts_to_exclude:
splitted_solr_hosts.remove(excluded_url)
for solr_host in splitted_solr_hosts:
solr_addr = "{0}://{1}:{2}/solr".format(solr_protocol, solr_host, solr_port)
solr_urls.append(solr_addr)
return solr_urls