Я ищу варианты остановки моего запуска марионетки, например, когда я вижу какой-то сбой в какой-то проверке внутри манифеста.
Когда я выполняю puppet agent -t на узле, если в манифесте есть какая-то ошибка, он должен остановить выполнение, а не продолжить работу с оставшимся манифестом.
Я попробовал команду "fail", если файл не может быть найден на узле, но я получил эту ошибку
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call
Я пробовал что-то похожее ниже, если файл существует, тогда сообщите, что я присутствую, иначе произойдет сбой и остановите выполнение
$file = "/tmp/file"
exec { "chk_${file}_exist":
command => "true",
path => ["/usr/bin","/usr/sbin", "/bin"],
onlyif => "test -f ${file}"
}
-> if !(Exec["chk_${file}_exist"]) {
fail('I am failing')
}
else {
notify { 'I am present ":}
}