def summarize_shard_check_result()

in ambari-infra-solr-client/src/main/python/migrationHelper.py [0:0]


def summarize_shard_check_result(check_results, skip_warnings = False, skip_index_size = False):
  warnings = 0
  index_size_per_host = {}
  for collection in check_results:
    warnings=warnings+check_results[collection]['warnings']
    if not skip_index_size and 'host_index_size_map' in check_results[collection]:
      host_index_size_map = check_results[collection]['host_index_size_map']
      for host in host_index_size_map:
        if host in index_size_per_host:
          last_value=index_size_per_host[host]
          index_size_per_host[host]=last_value+host_index_size_map[host]
        else:
          index_size_per_host[host]=host_index_size_map[host]
      pass
  if not skip_index_size and index_size_per_host:
    print("Full index size per hosts: (consider this for backup)")
    for host in index_size_per_host:
      print(" - {0}: {1}".format(host, human_size(index_size_per_host[host])))

  print("All warnings: {0}".format(warnings))
  if warnings != 0 and not skip_warnings:
    print("Check shards - {0}FAILED{1} (warnings: {2}, fix warnings or use --skip-warnings flag to PASS) ".format(colors.FAIL, colors.ENDC, warnings))
    sys.exit(1)
  else:
    print("Check shards - {0}PASSED{1}".format(colors.OKGREEN, colors.ENDC))