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;
}
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);
}
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;
}
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);
}
}
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);
}
}
Aggregations