Я пытаюсь написать предложение if, чтобы что-то делать в соответствии с текущим статусом машины. Я понимаю, что в соответствии с каталогами философии марионеток оценивают и нажимают на машины, прежде чем они запускаются в машинах.
Чтобы сохранить последовательность, я хотел бы использовать марионетку вместо пользовательских сценариев (например, bash). Мне нужно такое поведение в марионетке, если это возможно.
Вот пример: Puppet agent запускается на машине каждый час: - вытаскивание репо, чтобы увидеть любую новую фиксацию - поиск определенного слова в репо - если найден: вызвать некоторые зависимости - если не найден: вызвать другие зависимости
Моя проблема: «Предложение if» уже было оценено на марионеточном сервере, поэтому нет никакого способа установить зависимости в желаемом порядке в соответствии со статусом машины.
Есть идеи?
Вы должны создать Puppet Fact, который показывает состояние интересующей вас машины, а затем основывать свое «if clause» на этом факте.
Взгляните на это:
https://puppet.com/docs/facter/3.5/custom_facts.html
https://puppet.com/docs/puppet/5.3/lang_facts_and_builtin_vars.html