private static void updateAdminConfigForFullAutoMigration(String clusterName, String dcName, Set<String> resources,
      String zkConnectStr) {
    HelixPropertyStore<ZNRecord> helixPropertyStore = createHelixPropertyStore(clusterName, zkConnectStr);
    try {
      // Get property store ZNode path
      ZNRecord zNRecord = helixPropertyStore.get(FULL_AUTO_MIGRATION_ZNODE_PATH, null, AccessOption.PERSISTENT);
      if (zNRecord == null) {
        info("Creating {} znode record for datacenter to keep list of resources migrating to full_auto {}.",
            FULL_AUTO_MIGRATION_ZNODE_PATH, dcName);
        zNRecord = new ZNRecord(FULL_AUTO_MIGRATION_STR);
      } else {
        info("Updating {} znode record for datacenter to keep list of resources migrating to full_auto {}.",
            FULL_AUTO_MIGRATION_ZNODE_PATH, dcName);
      }

      // Update list field in ZNode
      List<String> migratingResourcesList =
          zNRecord.getListField(RESOURCES_STR) == null ? new ArrayList<>() : zNRecord.getListField(RESOURCES_STR);
      Set<String> migratingResourcesSet = new HashSet<>(migratingResourcesList);
      migratingResourcesSet.addAll(resources);
      zNRecord.setListField(RESOURCES_STR, new ArrayList<>(migratingResourcesSet));

      // Set property store Znode path
      if (!helixPropertyStore.set(FULL_AUTO_MIGRATION_ZNODE_PATH, zNRecord, AccessOption.PERSISTENT)) {
        logger.error("Failed to create/update {} znode record for datacenter {}", FULL_AUTO_MIGRATION_ZNODE_PATH,
            dcName);
      }
    } finally {
      helixPropertyStore.stop();
    }
  }
Add admin config in Helix to keep track of list of resources migrating to Full-Auto

@param clusterName
@param dcName       data center name
@param resources    migrating to Full Auto
@param zkConnectStr
ambry-clustermap/src/main/java/com/github/ambry/clustermap/HelixBootstrapUpgradeUtil.java