Я использую puppet для обслуживания растущей кучи машин Debian. Они будут поддерживаться с момента их инициализации. Это означает, что одним из шагов будет установка файла apt 'sources.list' и его последующее обновление.
Есть и другие модули, которые полагаются на актуальность этого списка и выйдут из строя, если apt-get update
не был вызван. Мне интересно, следует ли мне ввести какой-то процесс заказа (с использованием этапов или аналогичного), чтобы убедиться, что список пакетов обновлен перед попыткой установки приложений, или просто предположить, что он, скорее всего, выйдет из строя при первом запуске, но будет работать при последующих запусках как только список обновится?
Этос марионетки, кажется, объявляет «конечное состояние», а не процесс. Это заставляет меня думать, что позволить ошибкам возникать, вероятно, лучше.
Вы можете использовать exec
ресурс с refreshonly => true
который получает уведомление, когда sources.list
файл изменяется. И иметь класс, содержащий как ресурс управления файлами, так и exec
ресурс быть require
из package
ресурсы, которые в них нуждаются.
Я бы рекомендовал подойти к этому более простым способом - управлять источниками через apt::source
тип ресурса в модуле apt от Puppet Labs, который также обрабатывает обновление.