public DataNodeId getCurrentDataNodeId() {
    return currentDataNodeId;
  }
Creates and returns a mock cluster map.
<p>
The parameters to this method determine the number of mock datanodes that will be created in the cluster, the
number of mount points that will be created on each of these mock datanodes, and the number of "default" stores
that will be created on each mount point and whether there will be stores that host a "special" partition. Stores
correspond to replicas, so the number of stores also determines the number of replicas that will be created on a
node (which is going to be the number of mount points per node multiplied by the number of default stores per mount
point and possibly an extra store if a replica of the special partition resides on the node). Every default
partition is available on every node however the special partition is only available on a subset. These parameters
determine resource consumption so tests that start a cluster or a server should therefore keep these parameters to
the minimum required for testing intended functionality correctly (however, tests that only create the
MockClusterMap but do not start the cluster or servers will not end up using any significant resources, and should
be fine).
<p/>
The "special" partition will be created only if
1. The parameter {@code createOnlyDefaultPartitionClass} is {@code false}.
2. {@code numNodes} >= 4
3. There are at least 3 nodes in the designated "local" datacenter.
To determine whether a "special" partition was created, use the function {@link #getSpecialPartition()}.
The "special" partition has 3 replicas in the designated "local" datacenter and 2 replicas in all other datacenters
@param  enableSSLPorts whether to enable SSL ports.
@param enableHttp2Ports whether to enable Http2 ports.
@param numNodes number of mock datanodes that will be created (every 3 of which will be put in a separate
                datacenter).
@param numMountPointsPerNode number of mount points (mocking disks) that will be created in each datanode.
@param numDefaultStoresPerMountPoint the number of stores that will be created on each mount point.
@param createOnlyDefaultPartitionClass if {@code true}, does not attempt to create the "special" partition. If
                                       {@code false}, attempts to do so. See javadoc of function for more details
@param includeCloudDc {@code true} to make DC1 a "cloud" DC: one with a single {@link ReplicaType#CLOUD_BACKED}
                      replica for each partition in the cluster map. The virtual datanode created for the cloud DC
                      does not count against {@code numNodes}.
@param localDcName name of the local data center
ambry-test-utils/src/main/java/com/github/ambry/clustermap/MockClusterMap.java