Search in sources :

Example 1 with Recipe

use of com.sequenceiq.cloudbreak.domain.Recipe in project cloudbreak by hortonworks.

the class TestUtil method recipes.

public static Set<Recipe> recipes(int count) {
    Set<Recipe> recipes = new HashSet<>();
    for (int i = 0; i < count; i++) {
        Recipe recipe = new Recipe();
        recipe.setDescription("description");
        recipe.setId((long) (i + 1));
        recipe.setName("recipe-" + (i + 1));
        recipe.setPublicInAccount(true);
        recipe.setUri("https://some/url");
        recipe.setContent("base64Content");
        recipe.setRecipeType(RecipeType.POST_AMBARI_START);
        recipes.add(recipe);
    }
    return recipes;
}
Also used : Recipe(com.sequenceiq.cloudbreak.domain.Recipe) Blueprint(com.sequenceiq.cloudbreak.domain.Blueprint) Constraint(com.sequenceiq.cloudbreak.domain.Constraint) HashSet(java.util.HashSet)

Example 2 with Recipe

use of com.sequenceiq.cloudbreak.domain.Recipe in project cloudbreak by hortonworks.

the class RecipeController method getRequestfromName.

@Override
public RecipeRequest getRequestfromName(String name) {
    IdentityUser user = authenticatedUserService.getCbUser();
    Recipe recipe = recipeService.getPublicRecipe(name, user);
    return conversionService.convert(recipe, RecipeRequest.class);
}
Also used : IdentityUser(com.sequenceiq.cloudbreak.common.model.user.IdentityUser) Recipe(com.sequenceiq.cloudbreak.domain.Recipe)

Example 3 with Recipe

use of com.sequenceiq.cloudbreak.domain.Recipe in project cloudbreak by hortonworks.

the class StackToStackV2RequestConverter method collectInformationsFromActualHostgroup.

private InstanceGroupV2Request collectInformationsFromActualHostgroup(Stack source, InstanceGroup instanceGroup, InstanceGroupV2Request instanceGroupV2Request) {
    HostGroup actualHostgroup = null;
    for (HostGroup hostGroup : source.getCluster().getHostGroups()) {
        if (hostGroup.getName().equals(instanceGroup.getGroupName())) {
            actualHostgroup = hostGroup;
        }
    }
    if (actualHostgroup != null) {
        instanceGroupV2Request.setRecoveryMode(actualHostgroup.getRecoveryMode());
        instanceGroupV2Request.setRecipeNames(new HashSet<>());
        for (Recipe recipe : actualHostgroup.getRecipes()) {
            instanceGroupV2Request.getRecipeNames().add(recipe.getName());
        }
    }
    return instanceGroupV2Request;
}
Also used : Recipe(com.sequenceiq.cloudbreak.domain.Recipe) HostGroup(com.sequenceiq.cloudbreak.domain.HostGroup)

Example 4 with Recipe

use of com.sequenceiq.cloudbreak.domain.Recipe in project cloudbreak by hortonworks.

the class HostGroupDecorator method prepareRecipesByIds.

private void prepareRecipesByIds(HostGroup subject, Iterable<Long> recipeIds) {
    for (Long recipeId : recipeIds) {
        Recipe recipe = recipeService.get(recipeId);
        subject.getRecipes().add(recipe);
    }
}
Also used : Recipe(com.sequenceiq.cloudbreak.domain.Recipe)

Example 5 with Recipe

use of com.sequenceiq.cloudbreak.domain.Recipe in project cloudbreak by hortonworks.

the class RecipeEngine method addHDFSRecipe.

private void addHDFSRecipe(Cluster cluster, String blueprintText, Iterable<HostGroup> hostGroups) {
    try {
        for (HostGroup hostGroup : hostGroups) {
            if (isComponentPresent(blueprintText, "NAMENODE", hostGroup)) {
                String script = FileReaderUtils.readFileFromClasspath("scripts/hdfs-home.sh").replaceAll("\\$USER", cluster.getUserName());
                RecipeScript recipeScript = new RecipeScript(script, RecipeType.POST_CLUSTER_INSTALL);
                Recipe recipe = recipeBuilder.buildRecipes("hdfs-home", Collections.singletonList(recipeScript)).get(0);
                hostGroup.addRecipe(recipe);
                break;
            }
        }
    } catch (IOException e) {
        LOGGER.warn("Cannot create HDFS home dir recipe", e);
    }
}
Also used : RecipeScript(com.sequenceiq.cloudbreak.common.model.recipe.RecipeScript) Recipe(com.sequenceiq.cloudbreak.domain.Recipe) HostGroup(com.sequenceiq.cloudbreak.domain.HostGroup) IOException(java.io.IOException)

Aggregations

Recipe (com.sequenceiq.cloudbreak.domain.Recipe)20 RecipeScript (com.sequenceiq.cloudbreak.common.model.recipe.RecipeScript)5 IdentityUser (com.sequenceiq.cloudbreak.common.model.user.IdentityUser)5 HostGroup (com.sequenceiq.cloudbreak.domain.HostGroup)5 IOException (java.io.IOException)3 NotFoundException (com.sequenceiq.cloudbreak.controller.NotFoundException)2 Cluster (com.sequenceiq.cloudbreak.domain.Cluster)2 ArrayList (java.util.ArrayList)2 FileSystemConfiguration (com.sequenceiq.cloudbreak.api.model.FileSystemConfiguration)1 RecipeRequest (com.sequenceiq.cloudbreak.api.model.RecipeRequest)1 FileSystemConfigurator (com.sequenceiq.cloudbreak.blueprint.filesystem.FileSystemConfigurator)1 Blueprint (com.sequenceiq.cloudbreak.domain.Blueprint)1 Constraint (com.sequenceiq.cloudbreak.domain.Constraint)1 RecipeModel (com.sequenceiq.cloudbreak.orchestrator.model.RecipeModel)1 HashSet (java.util.HashSet)1 Test (org.junit.Test)1