use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject in project cloudbreak by hortonworks.
the class StackV4RequestToTemplatePreparationObjectConverterTest method testConvertWhenClusterHasEmptyRdsConfigNamesThenEmptyRdsConfigShouldBeStored.
@Test
public void testConvertWhenClusterHasEmptyRdsConfigNamesThenEmptyRdsConfigShouldBeStored() {
when(cluster.getDatabases()).thenReturn(Collections.emptySet());
TemplatePreparationObject result = underTest.convert(source);
assertTrue(result.getRdsConfigs().isEmpty());
}
use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject in project cloudbreak by hortonworks.
the class CmTemplateProcessorTest method testAddInstantiatorWithBaseRoles.
@Test
public void testAddInstantiatorWithBaseRoles() {
underTest = new CmTemplateProcessor(getBlueprintText("input/clouderamanager.bp"));
ClouderaManagerRepo clouderaManagerRepoDetails = new ClouderaManagerRepo();
clouderaManagerRepoDetails.setVersion(CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_6_3_0.getVersion());
GeneralClusterConfigs generalClusterConfigs = new GeneralClusterConfigs();
generalClusterConfigs.setClusterName("cluster");
TemplatePreparationObject.Builder tpoBuilder = new TemplatePreparationObject.Builder().withGeneralClusterConfigs(generalClusterConfigs);
TemplatePreparationObject templatePreparationObject = tpoBuilder.build();
underTest.addInstantiator(clouderaManagerRepoDetails, templatePreparationObject, "dszabo-sdx");
ApiClusterTemplateInstantiator instantiator = underTest.getTemplate().getInstantiator();
List<ApiClusterTemplateRoleConfigGroupInfo> roleConfigGroups = instantiator.getRoleConfigGroups();
List<String> refNames = roleConfigGroups.stream().map(ApiClusterTemplateRoleConfigGroupInfo::getRcgRefName).collect(Collectors.toList());
assertEquals(2, refNames.size());
assertTrue(refNames.containsAll(List.of("yarn-NODEMANAGER-BASE", "hdfs-DATANODE-BASE")));
assertEquals("cluster", instantiator.getClusterName());
}
use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject in project cloudbreak by hortonworks.
the class CmTemplateProcessorTest method addInstantiatorKeepsCustomClusterName.
@Test
public void addInstantiatorKeepsCustomClusterName() {
underTest = new CmTemplateProcessor(getBlueprintText("input/clouderamanager-custom_cluster_name.bp"));
GeneralClusterConfigs generalClusterConfigs = new GeneralClusterConfigs();
generalClusterConfigs.setClusterName("cluster");
TemplatePreparationObject templatePreparationObject = new TemplatePreparationObject.Builder().withGeneralClusterConfigs(generalClusterConfigs).build();
underTest.addInstantiator(null, templatePreparationObject, null);
ApiClusterTemplateInstantiator instantiator = underTest.getTemplate().getInstantiator();
assertEquals("kusztom", instantiator.getClusterName());
}
use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject in project cloudbreak by hortonworks.
the class HdfsConfigProviderTest method testGetHdfsServiceConfigsWithoutS3Guard.
@Test
public void testGetHdfsServiceConfigsWithoutS3Guard() {
doNothing().when(s3ConfigProvider).getServiceConfigs(any(TemplatePreparationObject.class), any(StringBuilder.class));
TemplatePreparationObject preparationObject = getTemplatePreparationObject(false, false, false);
String inputJson = getBlueprintText("input/clouderamanager.bp");
CmTemplateProcessor cmTemplateProcessor = new CmTemplateProcessor(inputJson);
List<ApiClusterTemplateConfig> serviceConfigs = underTest.getServiceConfigs(cmTemplateProcessor, preparationObject);
assertEquals(0, serviceConfigs.size());
}
use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject in project cloudbreak by hortonworks.
the class HdfsRoleConfigProviderTest method nameNodeHA.
@Test
void nameNodeHA() {
HostgroupView gateway = new HostgroupView("gateway", 1, InstanceGroupType.GATEWAY, 1);
HostgroupView master = new HostgroupView("master", 0, InstanceGroupType.CORE, 2);
HostgroupView quorum = new HostgroupView("quorum", 0, InstanceGroupType.CORE, 3);
HostgroupView worker = new HostgroupView("worker", 0, InstanceGroupType.CORE, 3);
String inputJson = FileReaderUtils.readFileFromClasspathQuietly("input/namenode-ha.bp");
CmTemplateProcessor cmTemplateProcessor = new CmTemplateProcessor(inputJson);
TemplatePreparationObject preparationObject = TemplatePreparationObject.Builder.builder().withHostgroupViews(Set.of(gateway, master, quorum, worker)).withBlueprintView(new BlueprintView(inputJson, "CDP", "1.0", cmTemplateProcessor)).build();
Map<String, List<ApiClusterTemplateConfig>> roleConfigs = subject.getRoleConfigs(cmTemplateProcessor, preparationObject);
List<ApiClusterTemplateConfig> namenodeConfigs = roleConfigs.get("hdfs-NAMENODE-BASE");
Map<String, ApiClusterTemplateConfig> configMap = cmTemplateProcessor.mapByName(namenodeConfigs);
assertEquals(NN_HA_PROPERTIES, configMap.keySet());
assertEquals("true", configMap.get("autofailover_enabled").getValue());
}
Aggregations