Как настроить марионетку так, чтобы она останавливалась только при первом сбое, вместо того, чтобы продолжать и просто выдавать ошибки для остальных шагов, которые зависят от первого сбоя?
Это невозможно с марионеткой. Хозяин марионеток построит график с тем, что нужно сделать. Puppet начнет выполнять узлы графов. Если один узел выйдет из строя, все зависимые узлы также выйдут из строя. Все остальное исполняется.
Этапы одинаковы: если на этапе что-то пойдет не так, все зависимые этапы автоматически выйдут из строя.
Увидеть официальная документация марионеточной функции "сбой".
Вот пример:
fail{'here goes your message':}