private void setPartitionId(ClusterMap clusterMap, String partitionStr, boolean enableVerboseLogging) {
    for (PartitionId writablePartition : clusterMap.getWritablePartitionIds(null)) {
      if (writablePartition.toString().equalsIgnoreCase(partitionStr)) {
        partitionId = writablePartition;
        break;
      }
    }
    if (partitionId == null) {
      throw new IllegalArgumentException("Partition " + partitionStr + " is not writable/available");
    }

    if (enableVerboseLogging) {
      System.out.println("Chosen partition " + partitionId);
    }
  }
Supports uploading files from a directory to a specific partition on a single colo
Steps:
1. For each file, generate the blob id with the given partition
2. Generate Blob props, usermetadata and blob content
3. PutRequest is made to every replica in the specified partition and datacenter,
   or a single replica if a hostname and port is specified
4. Write the output to out file
ambry-tools/src/main/java/com/github/ambry/tools/admin/DirectoryUploader.java