@Test
  public void testGetRequiredHostGroups___defaultUpdater() throws Exception {
    // given
    Map<String, Map<String, String>> properties = new HashMap<>();

    Map<String, String> coreSiteMap = new HashMap<>();
    coreSiteMap.put("fs.defaultFS", "localhost");
    properties.put("core-site", coreSiteMap);

    properties.put("myservice-site",
      ImmutableMap.of(
        "myservice.slave.urls", "%HOSTGROUP::group4%:8080,%HOSTGROUP::group4%:8080,%HOSTGROUP::group5%:8080"));

    Configuration clusterConfig = new Configuration(properties, emptyMap());

    expect(stack.getCardinality("NAMENODE")).andReturn(new Cardinality("1")).anyTimes();

    TestHostGroup group1 = new TestHostGroup("group1",
      ImmutableSet.of("HIVE_SERVER", "NAMENODE"),
      Collections.singleton("host1"));

    TestHostGroup group2 = new TestHostGroup("group2",
      ImmutableSet.of("NAMENODE", "DATANODE"),
      Collections.singleton("host2"));

    Configuration group3Configuration = new Configuration(
      ImmutableMap.of(
        "myservice-site",
        ImmutableMap.of("myservice.master.url", "%HOSTGROUP::group3%:8080")),
      emptyMap());
    TestHostGroup group3 = new TestHostGroup("group3",
      ImmutableSet.of(),
      Collections.singleton("host3"),
      group3Configuration);

    TestHostGroup group4 = new TestHostGroup("group4",
      ImmutableSet.of(),
      ImmutableSet.of("host4a", "host4b"));

    TestHostGroup group5 = new TestHostGroup("group5",
      ImmutableSet.of(),
      Collections.singleton("host5"));

    TestHostGroup group6 = new TestHostGroup("group6",
      ImmutableSet.of(),
      Collections.singleton("host6"));

    Collection<TestHostGroup> hostGroups = Lists.newArrayList(group1, group2, group3, group4, group5, group6);

    ClusterTopology topology = createClusterTopology(bp, clusterConfig, hostGroups);
    BlueprintConfigurationProcessor updater = new BlueprintConfigurationProcessor(topology);

    // when
    Set<String> requiredGroups = updater.getRequiredHostGroups();

    // then
    // - group1 and group2 due to the SingleHostTopologyUpdater defined for core-site/fs.defaultFS and NAMENODE
    // - group3 due to myservice-site/myservice.master.url in group3's host group config and the default property updater
    // - group4 and group5 due to myservice-site/myservice.slave.urls in cluster config and the default property updater
    assertEquals(ImmutableSet.of("group1", "group2", "group3", "group4", "group5"), requiredGroups);
  }
There is no support currently for deploying a fully Kerberized
cluster with Blueprints.  This test verifies the current treatment
of Kerberos-related properties in a Blueprint export.

@throws Exception
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java