protected void startServerInRedundancyZone(int index, final String zone) {

    clusterStartupRule.startServerVM(index, s -> s
        .withProperty(REDUNDANCY_ZONE, zone)
        .withConnectionToLocator(locatorPort));

    VM.getVM(index).invoke(() -> {
      RegionFactory<Object, Object> regionFactory =
          ClusterStartupRule.getCache().createRegionFactory(
              RegionShortcut.PARTITION_REDUNDANT);
      PartitionAttributesImpl partitionAttributesImpl = new PartitionAttributesImpl();
      partitionAttributesImpl.setRedundantCopies(1);
      partitionAttributesImpl.setStartupRecoveryDelay(-1);
      partitionAttributesImpl.setRecoveryDelay(-1);
      partitionAttributesImpl.setTotalNumBuckets(EXPECTED_BUCKET_COUNT);
      regionFactory.setPartitionAttributes(partitionAttributesImpl);
      regionFactory.create(REGION_NAME);

    });
  }
Startup server *index* in *redundancy zone*

@param index - server
@param zone - Redundancy zone for the server to be started in
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/control/RebalanceOperationComplexPart2DistributedTest.java