@VisibleForTesting
  void startClusterManagementService(InternalCache myCache, AgentUtil agentUtil) {

    if (myCache == null) {
      return;
    }

    clusterManagementService = new LocatorClusterManagementService(myCache,
        configurationPersistenceService);

    // Find the V2 Management rest WAR file
    URI gemfireManagementWar = agentUtil.findWarLocation("geode-web-management");
    if (gemfireManagementWar == null) {
      logger.info(
          "Unable to find GemFire V2 Management REST API WAR file; the Management REST Interface for Geode will not be accessible.");
      return;
    }

    Map<String, Object> serviceAttributes = new HashMap<>();
    serviceAttributes.put(HttpService.SECURITY_SERVICE_SERVLET_CONTEXT_PARAM,
        myCache.getSecurityService());
    serviceAttributes.put(HttpService.CLUSTER_MANAGEMENT_SERVICE_CONTEXT_PARAM,
        clusterManagementService);

    String[] authEnabledComponents = distributionConfig.getSecurityAuthTokenEnabledComponents();

    boolean managementAuthTokenEnabled = Arrays.stream(authEnabledComponents)
        .anyMatch(AuthTokenEnabledComponents::hasManagement);
    serviceAttributes.put(HttpService.AUTH_TOKEN_ENABLED_PARAM, managementAuthTokenEnabled);

    if (distributionConfig.getEnableManagementRestService()) {
      myCache.getOptionalService(HttpService.class).ifPresent(x -> {
        try {
          ManagementService managementService = ManagementService.getManagementService(myCache);
          if (!managementService.isManager()) {
            // The management rest service requires the jmx-manager
            // since some of the things the rest service does need
            // the jmx-manager in the same JVM. For example the
            // rebalance operation needs mxbeans that are hosted
            // by the jmx-manager.
            managementService.startManager();
          }
          logger.info("Geode Property {}=true Geode Management Rest Service is enabled.",
              ConfigurationProperties.ENABLE_MANAGEMENT_REST_SERVICE);
          x.addWebApplication("/management", Paths.get(gemfireManagementWar), serviceAttributes);
        } catch (Throwable e) {
          logger.warn("Unable to start management service: {}", e.getMessage());
        }
      });
    } else {
      logger.info("Geode Property {}=false Geode Management Rest Service is disabled.",
          ConfigurationProperties.ENABLE_MANAGEMENT_REST_SERVICE);
    }
  }
add this locator to the locators list if not already in, note the locator's
hostname is used, but if it resoves to be the same as what's already in the
list, what's specified by the user is preserved

@param existingLocators the existing configured locators
@param thisLocator this locator's address
@param port this locator's port
@return the comma separated list of locators with this locator added
        if this locator is not already in the list
geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java