Search in sources :

Example 6 with ConstraintJson

use of com.sequenceiq.cloudbreak.api.model.ConstraintJson in project cloudbreak by hortonworks.

the class UpdateAmbariRequestToUpdateClusterRequestConverter method convert.

@Override
public UpdateClusterJson convert(ReinstallRequestV2 source) {
    UpdateClusterJson updateStackJson = new UpdateClusterJson();
    updateStackJson.setValidateBlueprint(true);
    updateStackJson.setKerberosPassword(source.getKerberosPassword());
    updateStackJson.setKerberosPrincipal(source.getKerberosPrincipal());
    Blueprint blueprint = blueprintRepository.findOneByName(source.getBlueprintName(), source.getAccount());
    if (blueprint != null) {
        updateStackJson.setBlueprintId(blueprint.getId());
        updateStackJson.setAmbariStackDetails(source.getAmbariStackDetails());
        Set<HostGroupRequest> hostgroups = new HashSet<>();
        for (InstanceGroupV2Request instanceGroupV2Request : source.getInstanceGroups()) {
            HostGroupRequest hostGroupRequest = new HostGroupRequest();
            hostGroupRequest.setRecoveryMode(instanceGroupV2Request.getRecoveryMode());
            hostGroupRequest.setRecipeNames(instanceGroupV2Request.getRecipeNames());
            hostGroupRequest.setName(instanceGroupV2Request.getGroup());
            ConstraintJson constraintJson = new ConstraintJson();
            constraintJson.setHostCount(instanceGroupV2Request.getNodeCount());
            constraintJson.setInstanceGroupName(instanceGroupV2Request.getGroup());
            hostGroupRequest.setConstraint(constraintJson);
            hostgroups.add(hostGroupRequest);
        }
        updateStackJson.setHostgroups(hostgroups);
    } else {
        throw new BadRequestException(String.format("Blueprint '%s' not available", source.getBlueprintName()));
    }
    return updateStackJson;
}
Also used : InstanceGroupV2Request(com.sequenceiq.cloudbreak.api.model.v2.InstanceGroupV2Request) Blueprint(com.sequenceiq.cloudbreak.domain.Blueprint) HostGroupRequest(com.sequenceiq.cloudbreak.api.model.HostGroupRequest) BadRequestException(com.sequenceiq.cloudbreak.controller.BadRequestException) ConstraintJson(com.sequenceiq.cloudbreak.api.model.ConstraintJson) UpdateClusterJson(com.sequenceiq.cloudbreak.api.model.UpdateClusterJson) HashSet(java.util.HashSet)

Example 7 with ConstraintJson

use of com.sequenceiq.cloudbreak.api.model.ConstraintJson in project cloudbreak by hortonworks.

the class MockClusterCreationWithSaltSuccessTest method convertHostGroups.

private Set<HostGroupRequest> convertHostGroups(Iterable<HostGroup> hostGroups, String runRecipesOnHosts) {
    Set<Long> recipeIds = Collections.emptySet();
    List<String> hostGroupsWithRecipe = Collections.emptyList();
    if (!runRecipesOnHosts.isEmpty()) {
        recipeIds = getItContext().getContextParam(CloudbreakITContextConstants.RECIPE_ID, Set.class);
        Assert.assertFalse(recipeIds == null || recipeIds.isEmpty());
        hostGroupsWithRecipe = Arrays.asList(runRecipesOnHosts.split(","));
    }
    Set<HostGroupRequest> hgMaps = new HashSet<>();
    for (HostGroup hostgroup : hostGroups) {
        HostGroupRequest hostGroupBase = new HostGroupRequest();
        hostGroupBase.setName(hostgroup.getName());
        ConstraintJson constraintJson = new ConstraintJson();
        constraintJson.setInstanceGroupName(hostgroup.getInstanceGroupName());
        constraintJson.setHostCount(hostgroup.getHostCount());
        hostGroupBase.setConstraint(constraintJson);
        if (hostGroupsWithRecipe.contains(hostgroup.getName())) {
            hostGroupBase.setRecipeIds(recipeIds);
        }
        hgMaps.add(hostGroupBase);
    }
    return hgMaps;
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) HostGroupRequest(com.sequenceiq.cloudbreak.api.model.HostGroupRequest) HostGroup(com.sequenceiq.it.cloudbreak.HostGroup) ConstraintJson(com.sequenceiq.cloudbreak.api.model.ConstraintJson) HashSet(java.util.HashSet)

Example 8 with ConstraintJson

use of com.sequenceiq.cloudbreak.api.model.ConstraintJson in project cloudbreak by hortonworks.

the class HostGroupToJsonEntityConverterTest method setUp.

@Before
public void setUp() {
    underTest = new HostGroupToHostGroupResponseConverter();
    MockitoAnnotations.initMocks(this);
    when(conversionService.convert(any(Class.class), any(Class.class))).thenReturn(new ConstraintJson());
}
Also used : ConstraintJson(com.sequenceiq.cloudbreak.api.model.ConstraintJson) Before(org.junit.Before)

Aggregations

ConstraintJson (com.sequenceiq.cloudbreak.api.model.ConstraintJson)8 HostGroupRequest (com.sequenceiq.cloudbreak.api.model.HostGroupRequest)5 HashSet (java.util.HashSet)4 Set (java.util.Set)3 HostGroup (com.sequenceiq.it.cloudbreak.HostGroup)2 RecipeRequest (com.sequenceiq.cloudbreak.api.model.RecipeRequest)1 UpdateClusterJson (com.sequenceiq.cloudbreak.api.model.UpdateClusterJson)1 InstanceGroupV2Request (com.sequenceiq.cloudbreak.api.model.v2.InstanceGroupV2Request)1 BadRequestException (com.sequenceiq.cloudbreak.controller.BadRequestException)1 Blueprint (com.sequenceiq.cloudbreak.domain.Blueprint)1 Constraint (com.sequenceiq.cloudbreak.domain.Constraint)1 Before (org.junit.Before)1