in ambari-infra-solr-client/src/main/python/migrationHelper.py [0:0]
def upgrade_solr_clients(options, accessor, parser, config):
"""
Upgrade (remove & re-install) infra solr clients
"""
cluster = config.get('ambari_server', 'cluster')
solr_client_hosts = get_service_components(options, accessor, cluster, "AMBARI_INFRA_SOLR", "INFRA_SOLR_CLIENT")
fqdn = socket.getfqdn()
if fqdn in solr_client_hosts:
solr_client_hosts.remove(fqdn)
host = socket.gethostname()
if host in solr_client_hosts:
solr_client_hosts.remove(host)
if not len(solr_client_hosts):
print('The Solr Clients upgrade request has been aborted because no other host can be upgraded.')
sys.exit(0)
context = "Upgrade Solr Clients"
sys.stdout.write("Sending upgrade request: [{0}] ".format(context))
sys.stdout.flush()
cmd_request = create_command_request("UPGRADE_SOLR_CLIENT", {}, solr_client_hosts, cluster, context, component="INFRA_SOLR_CLIENT")
response = post_json(accessor, CLUSTERS_URL.format(cluster) + REQUESTS_API_URL, cmd_request)
request_id = get_request_id(response)
sys.stdout.write(colors.OKGREEN + 'DONE\n' + colors.ENDC)
sys.stdout.flush()
print('Upgrade command request id: {0}'.format(request_id))
if options.async_op:
print("Upgrade request sent to Ambari server. Check Ambari UI about the results.")
sys.exit(0)
else:
sys.stdout.write("Start monitoring Ambari request with id {0} ...".format(request_id))
sys.stdout.flush()
cluster = config.get('ambari_server', 'cluster')
monitor_request(options, accessor, cluster, request_id, context)
print("{0}... {1}DONE{2}".format(context, colors.OKGREEN, colors.ENDC))