static void controlPartitionState(String hardwareLayoutPath, String partitionLayoutPath, String zkLayoutPath,
      String clusterNamePrefix, String dcs, String hostname, Integer portNum, HelixAdminOperation operation,
      String partitionName) throws Exception {

    HelixBootstrapUpgradeUtil helixBootstrapUpgradeUtil =
        new HelixBootstrapUpgradeUtil(hardwareLayoutPath, partitionLayoutPath, zkLayoutPath, clusterNamePrefix, dcs,
            DEFAULT_MAX_PARTITIONS_PER_RESOURCE, false, false, null, null, Objects.requireNonNull(hostname), portNum,
            Objects.requireNonNull(partitionName), operation, null, false, 0);
    if (operation == HelixAdminOperation.ResetPartition) {
      helixBootstrapUpgradeUtil.resetPartition();
    } else {
      helixBootstrapUpgradeUtil.controlPartitionState();
    }
    helixBootstrapUpgradeUtil.logSummary();
  }
Control the state of partition on given node. Currently this method supports Disable/Enable/Reset partition.
@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 hostname the host on which admin operation should be performed
@param portNum the port number associated with host
@param operation the {@link HelixAdminOperation} to perform
@param partitionName the partition on which admin operation should be performed
@throws Exception
ambry-clustermap/src/main/java/com/github/ambry/clustermap/HelixBootstrapUpgradeUtil.java