Search in sources :

Example 6 with ModelContext

use of com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext in project cloudbreak by hortonworks.

the class HeatTemplateBuilderTest method buildTestWithExistingSubnetAndAssignFloatingIpWithoutExistingNetwork.

@Test
public void buildTestWithExistingSubnetAndAssignFloatingIpWithoutExistingNetwork() throws Exception {
    // GIVEN
    boolean existingNetwork = false;
    boolean existingSubnet = true;
    NeutronNetworkView neutronNetworkView = createNeutronNetworkView("floating_pool_id");
    // WHEN
    when(openStackUtil.adjustStackNameLength(Mockito.anyString())).thenReturn("t");
    ModelContext modelContext = new ModelContext();
    modelContext.withExistingNetwork(existingNetwork);
    modelContext.withExistingSubnet(existingSubnet);
    modelContext.withGroups(groups);
    modelContext.withInstanceUserData(image);
    modelContext.withLocation(location());
    modelContext.withStackName(stackName);
    modelContext.withNeutronNetworkView(neutronNetworkView);
    modelContext.withTemplateString(heatTemplateBuilder.getTemplate());
    String templateString = heatTemplateBuilder.build(modelContext);
    // THEN
    assertThat(templateString, containsString("cb-sec-group_" + 't'));
    assertThat(templateString, not(containsString("app_net_id")));
    assertThat(templateString, containsString("app_network"));
    assertThat(templateString, containsString("subnet_id"));
    assertThat(templateString, not(containsString("app_subnet")));
    assertThat(templateString, containsString("network_id"));
    assertThat(templateString, containsString("public_net_id"));
}
Also used : ModelContext(com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext) Matchers.containsString(org.hamcrest.Matchers.containsString) NeutronNetworkView(com.sequenceiq.cloudbreak.cloud.openstack.view.NeutronNetworkView) Test(org.junit.Test)

Example 7 with ModelContext

use of com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext in project cloudbreak by hortonworks.

the class HeatTemplateBuilderTest method buildTestWithExistingSubnetAndAssignFloatingIpWithoutExistingNetworkShouldThrowAssertionException.

@Test
@Ignore
public void buildTestWithExistingSubnetAndAssignFloatingIpWithoutExistingNetworkShouldThrowAssertionException() throws Exception {
    // GIVEN
    boolean existingNetwork = false;
    boolean existingSubnet = true;
    NeutronNetworkView neutronNetworkView = createNeutronNetworkView("floating_pool_id");
    // WHEN
    when(openStackUtil.adjustStackNameLength(Mockito.anyString())).thenReturn("t");
    ModelContext modelContext = new ModelContext();
    modelContext.withExistingNetwork(existingNetwork);
    modelContext.withExistingSubnet(existingSubnet);
    modelContext.withGroups(groups);
    modelContext.withInstanceUserData(image);
    modelContext.withLocation(location());
    modelContext.withStackName(stackName);
    modelContext.withNeutronNetworkView(neutronNetworkView);
    modelContext.withTemplateString(heatTemplateBuilder.getTemplate());
    String templateString = heatTemplateBuilder.build(modelContext);
    // THEN
    assertThat(templateString, not(containsString("name: cb-sec-group_" + 't')));
    assertThat(templateString, containsString("app_net_id"));
    assertThat(templateString, not(containsString("app_network")));
    assertThat(templateString, not(containsString("subnet_id")));
    assertThat(templateString, containsString("app_subnet"));
    assertThat(templateString, not(containsString("network_id")));
    assertThat(templateString, not(containsString("public_net_id")));
}
Also used : ModelContext(com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext) Matchers.containsString(org.hamcrest.Matchers.containsString) NeutronNetworkView(com.sequenceiq.cloudbreak.cloud.openstack.view.NeutronNetworkView) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 8 with ModelContext

use of com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext in project cloudbreak by hortonworks.

the class HeatTemplateBuilderTest method buildTestWithExistingNetworkAndExistingSubnetAndAssignFloatingIpWithExistingSecurityGroups.

@Test
public void buildTestWithExistingNetworkAndExistingSubnetAndAssignFloatingIpWithExistingSecurityGroups() throws Exception {
    assumeTrue("Template doesn't support this feature, required version is '2.x' at least", isTemplateMajorVersionGreaterOrEqualThan(2));
    // GIVEN
    boolean existingNetwork = true;
    boolean existingSubnet = true;
    NeutronNetworkView neutronNetworkView = createNeutronNetworkView("floating_pool_id");
    Group group = groups.get(0);
    groups.clear();
    String cloudSecurityId = "sec-group-id";
    Security security = new Security(Collections.emptyList(), cloudSecurityId);
    Group groupWithSecGroup = new Group(group.getName(), InstanceGroupType.CORE, group.getInstances(), security, null, group.getInstanceAuthentication(), group.getInstanceAuthentication().getLoginUserName(), group.getInstanceAuthentication().getPublicKey());
    groups.add(groupWithSecGroup);
    // WHEN
    when(openStackUtil.adjustStackNameLength(Mockito.anyString())).thenReturn("t");
    ModelContext modelContext = new ModelContext();
    modelContext.withExistingNetwork(existingNetwork);
    modelContext.withExistingSubnet(existingSubnet);
    modelContext.withGroups(groups);
    modelContext.withInstanceUserData(image);
    modelContext.withLocation(location());
    modelContext.withStackName(stackName);
    modelContext.withNeutronNetworkView(neutronNetworkView);
    modelContext.withTemplateString(heatTemplateBuilder.getTemplate());
    String templateString = heatTemplateBuilder.build(modelContext);
    // THEN
    assertThat(templateString, not(containsString("cb-sec-group_" + 't')));
    assertThat(templateString, not(containsString("type: OS::Neutron::SecurityGroup")));
    assertThat(templateString, containsString(cloudSecurityId));
    assertThat(templateString, containsString("app_net_id"));
    assertThat(templateString, not(containsString("app_network")));
    assertThat(templateString, containsString("subnet_id"));
    assertThat(templateString, not(containsString("app_subnet")));
    assertThat(templateString, containsString("network_id"));
    assertThat(templateString, containsString("public_net_id"));
}
Also used : ModelContext(com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext) Group(com.sequenceiq.cloudbreak.cloud.model.Group) Matchers.containsString(org.hamcrest.Matchers.containsString) Security(com.sequenceiq.cloudbreak.cloud.model.Security) NeutronNetworkView(com.sequenceiq.cloudbreak.cloud.openstack.view.NeutronNetworkView) Test(org.junit.Test)

Example 9 with ModelContext

use of com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext in project cloudbreak by hortonworks.

the class HeatTemplateBuilderTest method buildTestWithExistingNetworkAndAssignFloatingIpWithoutExistingSubnet.

@Test
public void buildTestWithExistingNetworkAndAssignFloatingIpWithoutExistingSubnet() throws Exception {
    // GIVEN
    boolean existingNetwork = true;
    boolean existingSubnet = false;
    NeutronNetworkView neutronNetworkView = createNeutronNetworkView("floating_pool_id");
    // WHEN
    when(openStackUtil.adjustStackNameLength(Mockito.anyString())).thenReturn("t");
    ModelContext modelContext = new ModelContext();
    modelContext.withExistingNetwork(existingNetwork);
    modelContext.withExistingSubnet(existingSubnet);
    modelContext.withGroups(groups);
    modelContext.withInstanceUserData(image);
    modelContext.withLocation(location());
    modelContext.withStackName(stackName);
    modelContext.withNeutronNetworkView(neutronNetworkView);
    modelContext.withTemplateString(heatTemplateBuilder.getTemplate());
    String templateString = heatTemplateBuilder.build(modelContext);
    // THEN
    assertThat(templateString, containsString("name: cb-sec-group_" + 't'));
    assertThat(templateString, containsString("app_net_id"));
    assertThat(templateString, not(containsString("app_network")));
    assertThat(templateString, containsString("subnet_id"));
    assertThat(templateString, containsString("app_subnet"));
    assertThat(templateString, containsString("network_id"));
    assertThat(templateString, containsString("public_net_id"));
}
Also used : ModelContext(com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext) Matchers.containsString(org.hamcrest.Matchers.containsString) NeutronNetworkView(com.sequenceiq.cloudbreak.cloud.openstack.view.NeutronNetworkView) Test(org.junit.Test)

Example 10 with ModelContext

use of com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext in project cloudbreak by hortonworks.

the class HeatTemplateBuilderTest method buildTestWithExistingNetworkWithoutExistingSubnetAndAssignFloatingIp.

@Test
public void buildTestWithExistingNetworkWithoutExistingSubnetAndAssignFloatingIp() throws Exception {
    // GIVEN
    boolean existingNetwork = true;
    boolean existingSubnet = false;
    NeutronNetworkView neutronNetworkView = createNeutronNetworkView(null);
    // WHEN
    when(openStackUtil.adjustStackNameLength(Mockito.anyString())).thenReturn("t");
    ModelContext modelContext = new ModelContext();
    modelContext.withExistingNetwork(existingNetwork);
    modelContext.withExistingSubnet(existingSubnet);
    modelContext.withGroups(groups);
    modelContext.withInstanceUserData(image);
    modelContext.withLocation(location());
    modelContext.withStackName(stackName);
    modelContext.withNeutronNetworkView(neutronNetworkView);
    modelContext.withTemplateString(heatTemplateBuilder.getTemplate());
    String templateString = heatTemplateBuilder.build(modelContext);
    // THEN
    assertThat(templateString, containsString("name: cb-sec-group_" + 't'));
    assertThat(templateString, containsString("app_net_id"));
    assertThat(templateString, not(containsString("app_network")));
    assertThat(templateString, containsString("subnet_id"));
    assertThat(templateString, containsString("app_subnet"));
    assertThat(templateString, containsString("network_id"));
    assertThat(templateString, not(containsString("public_net_id")));
}
Also used : ModelContext(com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext) Matchers.containsString(org.hamcrest.Matchers.containsString) NeutronNetworkView(com.sequenceiq.cloudbreak.cloud.openstack.view.NeutronNetworkView) Test(org.junit.Test)

Aggregations

ModelContext (com.sequenceiq.cloudbreak.cloud.openstack.heat.HeatTemplateBuilder.ModelContext)16 NeutronNetworkView (com.sequenceiq.cloudbreak.cloud.openstack.view.NeutronNetworkView)16 Matchers.containsString (org.hamcrest.Matchers.containsString)12 Test (org.junit.Test)12 Ignore (org.junit.Ignore)3 CloudStack (com.sequenceiq.cloudbreak.cloud.model.CloudStack)2 CloudResource (com.sequenceiq.cloudbreak.cloud.model.CloudResource)1 Builder (com.sequenceiq.cloudbreak.cloud.model.CloudResource.Builder)1 CloudResourceStatus (com.sequenceiq.cloudbreak.cloud.model.CloudResourceStatus)1 Group (com.sequenceiq.cloudbreak.cloud.model.Group)1 Security (com.sequenceiq.cloudbreak.cloud.model.Security)1 Stack (org.openstack4j.model.heat.Stack)1