static void validate(String hardwareLayoutPath, String partitionLayoutPath, String zkLayoutPath,
      String clusterNamePrefix, String dcs, String stateModelDef, DataNodeConfigSourceType dataNodeConfigSourceType,
      int maxInstancesInOneResourceForFullAuto) throws Exception {
    HelixBootstrapUpgradeUtil clusterMapToHelixMapper =
        new HelixBootstrapUpgradeUtil(hardwareLayoutPath, partitionLayoutPath, zkLayoutPath, clusterNamePrefix, dcs,
            DEFAULT_MAX_PARTITIONS_PER_RESOURCE, false, false, null, stateModelDef, null, null, null,
            HelixAdminOperation.ValidateCluster, dataNodeConfigSourceType, false, maxInstancesInOneResourceForFullAuto);
    clusterMapToHelixMapper.validateAndClose();
    clusterMapToHelixMapper.logSummary();
  }
Takes in the path to the files that make up the static cluster map and validates that the information is consistent
with the information in Helix.
@param hardwareLayoutPath the path to the hardware layout file.
@param partitionLayoutPath the path to the partition layout file.
@param zkLayoutPath the path to the zookeeper layout file.
@param clusterNamePrefix the prefix that when combined with the cluster name in the static cluster map files
                         will give the cluster name in Helix to bootstrap or upgrade.
@param dcs the comma-separated list of data centers that needs to be upgraded/bootstrapped.
@param stateModelDef the state model definition to use in Ambry cluster.
@param dataNodeConfigSourceType the {@link DataNodeConfigSourceType} of this cluster.
@throws IOException if there is an error reading a file.
@throws JSONException if there is an error parsing the JSON content in any of the files.
ambry-clustermap/src/main/java/com/github/ambry/clustermap/HelixBootstrapUpgradeUtil.java