Шаги (Step)

class carnival.Step

Объект, предназначенный для выполнения группы команд с какой-то целью. Вызывается из класса carnival.Task для выполнения команд (carnival.cmd) на определенных хостах.

Может требовать наличие определенных контекстных переменных для работы, указав их в аргументах конструктора, а в задаче (Task) передать нужные аргументы в конструктор.

Может вернуть значение для дальнейшего использования.

>>> ...
>>> class DiskUsage(Step):
>>>     def __init__(self, disk_name: str):
>>>         self.disk_name = disk_name
>>>
>>>     def run(self, c: Connection):
>>>         ...
run(c: Connection) → Any

Метод который нужно определить для выполнения команд

Параметры:c – Соединение с хостом для выполнения шага
validate(c: Connection) → None

Валидатор шага, запускается перед выполнением Должен выкидывать .StepValidationError в случае ошибки

Параметры:host – На котором будет выполнен шаг
Исключение:StepValidationError – в случае ошибок валидации
>>> from carnival.exceptions import StepValidationError
>>> ...
>>> def validate(self, c: "Connection") -> None:
>>>     raise StepValidationError("Step validation is not implemented")