Search in sources :

Example 1 with BlueprintTextProcessor

use of com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor in project cloudbreak by hortonworks.

the class KerberosBlueprintExtendTest method testAddKerberosConfigTokerverosConfiguredBlueprintForced.

@Test
public void testAddKerberosConfigTokerverosConfiguredBlueprintForced() throws IOException {
    String json = FileReaderUtils.readFileFromClasspath("extend-blueprint/multi-node-hdfs-yarn-default-kerb.json");
    String expected = FileReaderUtils.readFileFromClasspath("extend-blueprint/multi-node-hdfs-yarn-kerb-forced.json");
    BlueprintTextProcessor b = new BlueprintTextProcessor(json);
    String result = underTest.extendBlueprintWithKerberos(b, kerberosEnv, "node.dc1.consul,node.consul", true, null, true).asText();
    JsonNode expectedNode = JsonUtil.readTree(expected);
    JsonNode resultNode = JsonUtil.readTree(result);
    Assert.assertEquals(expectedNode, resultNode);
}
Also used : BlueprintTextProcessor(com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor) JsonNode(com.fasterxml.jackson.databind.JsonNode) Test(org.junit.Test)

Example 2 with BlueprintTextProcessor

use of com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor in project cloudbreak by hortonworks.

the class KerberosBlueprintExtendTest method testAddKerberosConfigTokerverosConfiguredBlueprintNotForced.

@Test
public void testAddKerberosConfigTokerverosConfiguredBlueprintNotForced() throws IOException {
    String json = FileReaderUtils.readFileFromClasspath("extend-blueprint/multi-node-hdfs-yarn-default-kerb.json");
    String expected = FileReaderUtils.readFileFromClasspath("extend-blueprint/multi-node-hdfs-yarn-kerb.json");
    BlueprintTextProcessor b = new BlueprintTextProcessor(json);
    String result = underTest.extendBlueprintWithKerberos(b, kerberosEnv, "node.dc1.consul,node.consul", true, null, false).asText();
    JsonNode expectedNode = JsonUtil.readTree(expected);
    JsonNode resultNode = JsonUtil.readTree(result);
    Assert.assertEquals(expectedNode, resultNode);
}
Also used : BlueprintTextProcessor(com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor) JsonNode(com.fasterxml.jackson.databind.JsonNode) Test(org.junit.Test)

Example 3 with BlueprintTextProcessor

use of com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor in project cloudbreak by hortonworks.

the class KerberosBlueprintExtendTest method testAddKerberosConfigToClearBlueprint.

@Test
public void testAddKerberosConfigToClearBlueprint() throws IOException {
    String json = FileReaderUtils.readFileFromClasspath("extend-blueprint/multi-node-hdfs-yarn.json");
    String expected = FileReaderUtils.readFileFromClasspath("extend-blueprint/multi-node-hdfs-yarn-kerb-forced.json");
    BlueprintTextProcessor b = new BlueprintTextProcessor(json);
    String result = underTest.extendBlueprintWithKerberos(b, kerberosEnv, "node.dc1.consul,node.consul", true, null, false).asText();
    JsonNode expectedNode = JsonUtil.readTree(expected);
    JsonNode resultNode = JsonUtil.readTree(result);
    Assert.assertEquals(expectedNode, resultNode);
}
Also used : BlueprintTextProcessor(com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor) JsonNode(com.fasterxml.jackson.databind.JsonNode) Test(org.junit.Test)

Example 4 with BlueprintTextProcessor

use of com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor in project cloudbreak by hortonworks.

the class KerberosBlueprintServiceTest method testExtendBlueprintWithKerberosOnKerberizedBlueprint.

@Test
public void testExtendBlueprintWithKerberosOnKerberizedBlueprint() throws IOException {
    String expectedBlueprint = FileReaderUtils.readFileFromClasspath("blueprints-jackson/bp-kerberized-test.bp");
    Blueprint blueprint = TestUtil.blueprint("name", expectedBlueprint);
    Stack stack = TestUtil.stack();
    Cluster cluster = TestUtil.cluster(blueprint, stack, 1L, TestUtil.kerberosConfig());
    BlueprintPreparationObject object = BlueprintPreparationObject.Builder.builder().withKerberosConfig(cluster.getKerberosConfig()).withGeneralClusterConfigs(BlueprintTestUtil.generalClusterConfigs()).build();
    BlueprintTextProcessor b = new BlueprintTextProcessor(blueprint.getBlueprintText());
    String actualBlueprint = underTest.customTextManipulation(object, b).asText();
    JsonNode expectedNode = JsonUtil.readTree(expectedBlueprint);
    JsonNode resultNode = JsonUtil.readTree(actualBlueprint);
    Assert.assertEquals(expectedNode, resultNode);
}
Also used : Blueprint(com.sequenceiq.cloudbreak.domain.Blueprint) BlueprintTextProcessor(com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor) Cluster(com.sequenceiq.cloudbreak.domain.Cluster) BlueprintPreparationObject(com.sequenceiq.cloudbreak.blueprint.BlueprintPreparationObject) JsonNode(com.fasterxml.jackson.databind.JsonNode) Stack(com.sequenceiq.cloudbreak.domain.Stack) Test(org.junit.Test)

Example 5 with BlueprintTextProcessor

use of com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor in project cloudbreak by hortonworks.

the class KerberosBlueprintServiceTest method testExtendBlueprintWithKerberosCustomConfig.

@Test
public void testExtendBlueprintWithKerberosCustomConfig() throws IOException {
    String blueprintText = FileReaderUtils.readFileFromClasspath("blueprints-jackson/bp-not-kerberized.bp");
    Blueprint blueprint = TestUtil.blueprint("name", blueprintText);
    Stack stack = TestUtil.stack();
    KerberosConfig kerberosConfig = new KerberosConfig();
    kerberosConfig.setDescriptor("{\"kerberos-env\":{\"properties\":{\"install_packages\":false,\"realm\":\"REALM.BP\",\"kdc_type\":\"mit-kdc\"," + "\"kdc_hosts\":\"kdc_host.bp\",\"admin_server_host\":\"admin_server_host.bp\",\"encryption_types\":\"enc_types.bp\",\"ldap_url\":\"\"," + "\"container_dn\":\"\"}}}");
    kerberosConfig.setKrb5Conf("{\"krb5-conf\":{\"properties\":{\"domains\":\".domains.bp\",\"manage_krb5_conf\":\"true\",\"content\":\"content.bp\"}}}");
    kerberosConfig.setTcpAllowed(true);
    Cluster cluster = TestUtil.cluster(blueprint, stack, 1L, kerberosConfig);
    BlueprintPreparationObject object = BlueprintPreparationObject.Builder.builder().withKerberosConfig(cluster.getKerberosConfig()).withGeneralClusterConfigs(BlueprintTestUtil.generalClusterConfigs()).build();
    BlueprintTextProcessor b = new BlueprintTextProcessor(blueprint.getBlueprintText());
    String actualBlueprint = underTest.customTextManipulation(object, b).asText();
    String expectedBlueprint = FileReaderUtils.readFileFromClasspath("blueprints-jackson/bp-not-kerberized-custom-config-expected.bp");
    JsonNode expectedNode = JsonUtil.readTree(expectedBlueprint);
    JsonNode resultNode = JsonUtil.readTree(actualBlueprint);
    Assert.assertEquals(expectedNode, resultNode);
}
Also used : Blueprint(com.sequenceiq.cloudbreak.domain.Blueprint) BlueprintTextProcessor(com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor) KerberosConfig(com.sequenceiq.cloudbreak.domain.KerberosConfig) Cluster(com.sequenceiq.cloudbreak.domain.Cluster) BlueprintPreparationObject(com.sequenceiq.cloudbreak.blueprint.BlueprintPreparationObject) JsonNode(com.fasterxml.jackson.databind.JsonNode) Stack(com.sequenceiq.cloudbreak.domain.Stack) Test(org.junit.Test)

Aggregations

BlueprintTextProcessor (com.sequenceiq.cloudbreak.blueprint.BlueprintTextProcessor)12 Test (org.junit.Test)10 JsonNode (com.fasterxml.jackson.databind.JsonNode)9 BlueprintPreparationObject (com.sequenceiq.cloudbreak.blueprint.BlueprintPreparationObject)6 Blueprint (com.sequenceiq.cloudbreak.domain.Blueprint)4 Cluster (com.sequenceiq.cloudbreak.domain.Cluster)4 Stack (com.sequenceiq.cloudbreak.domain.Stack)4 BlueprintProcessorFactory (com.sequenceiq.cloudbreak.blueprint.BlueprintProcessorFactory)2 GeneralClusterConfigs (com.sequenceiq.cloudbreak.blueprint.templates.GeneralClusterConfigs)2 KerberosConfig (com.sequenceiq.cloudbreak.domain.KerberosConfig)2 List (java.util.List)2 Optional (java.util.Optional)2 Set (java.util.Set)2 Collectors (java.util.stream.Collectors)2 Inject (javax.inject.Inject)2 Component (org.springframework.stereotype.Component)2 JsonIgnoreProperties (com.fasterxml.jackson.annotation.JsonIgnoreProperties)1 JsonPropertyOrder (com.fasterxml.jackson.annotation.JsonPropertyOrder)1 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 GATEWAY (com.sequenceiq.cloudbreak.api.model.InstanceGroupType.GATEWAY)1