Задача (Task)

class carnival.Task(dry_run: bool)

Задача это единица выполнения одного или несколькоих шагов на определенных хостах.

Именование задач.

Полное имя задачи состоит из двух частей. <module_name>.<name>. carnival автоматически генерирует имена задач из этих частей, но есть возможность управлять этим вручную, используя два атрибута класса Task.

name: название задачи. если не определено имя будет сгенерировано автоматически. module_name: имя модуля. если назначить пустую строку, полное имя будет включать только название задачи.

call_task(task_class: Type[Task])

Запустить другую задачу Возвращает результат работы задачи

run()

Реализация выполнения задачи

step(steps: Union[carnival.step.Step, List[carnival.step.Step]], hosts: Union[carnival.host.Host, List[carnival.host.Host]]) → List[carnival.task.TaskResult]

Запустить шаг(и) на хост(ах) Возвращает объект TaskResult для получения результатов работы каждого шага на каждом хосте

Простые задачи

class carnival.SimpleTask(dry_run: bool)

Запустить шаги self.steps на хостах self.hosts

Встроенные задачи

carnival имеет встроенные задачи для удобства использования

class carnival.internal_tasks.Help(dry_run: bool)

Показать список доступных задач

Результат выполнения Task.step

class carnival.task.TaskResult(host: carnival.host.Host, step: carnival.step.Step, result: Any)

Возвращается вызовом метода Task.step