def create_recipe(distro_tree=None, task_list=None, task_name=u'/distribution/reservesys', whiteboard=None, role=None, cls=MachineRecipe, **kwargs): if not distro_tree: distro_tree = create_distro_tree() recipe = cls(ttasks=1) recipe.whiteboard = whiteboard recipe.distro_tree = distro_tree recipe.role = role recipe.distro_requires = recipe.distro_tree.to_xml().toxml() if task_list: #don't specify a task_list and a task_name... for t in task_list: rt = RecipeTask(task=t) rt.role = u'STANDALONE' recipe.tasks.append(rt) else: rt = RecipeTask(task=create_task(name=task_name)) rt.role = u'STANDALONE' recipe.tasks.append(rt) return recipe