Назад | Перейти на главную страницу

Фильтровать подключаемые модули марионеток

Есть ли способ отфильтровать синхронизируемые плагины? У меня есть несколько новых модулей, загруженных из кузницы (puppetboard, puppetdb, python). Эти модули включают плагины, они также нужны только на мастере марионеток, плагины не нужны ни на одном из моих клиентов.

К сожалению, подключаемые модули facter в этих модулях вызывают сбой марионеточного клиента в некоторых старых системах, которые я не могу обновить до последней версии ruby ​​/ puppet / facter. Эти старые системы используют устаревшее программное обеспечение, которое не может работать в новой версии ОС без безумно болезненного взлома. Все остальные мои плагины и настраиваемые факты работают отлично. Поэтому я хочу сохранить синхронизацию плагинов, но исключить те факты, которые нарушают работу старых систем.

Кто-нибудь придумал хороший метод частичной синхронизации плагинов? Я не нахожу решений в своих поисках.

Нет возможности фильтровать плагины.

Но, как вы говорите в своем комментарии, вам нужно написать факты / типы для обработки ОС, на которой они работают. Для типов и поставщиков вы выходите раньше.
Для фактов вы можете использовать confine: http://docs.puppetlabs.com/guides/custom_facts.html#confining-facts

Сам Puppet не поддерживает фильтрацию списков подключаемых модулей для синхронизации.

Однако вы можете исправить марионетку для поддержки этого с помощью pluginsync_filter патч от CERN.

После этого вы можете добавить такие модули в белый список через Hiera:

pluginsync_filter_enable: true
pluginsync_filter:
   - whitelisted
   - module
   - names

Примечание: AFAIK этот патч, вероятно, не поддерживается публично, поэтому вы будете сами по себе, если решите его использовать.