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

Мастер и марионетка уведомляют ресурс в статусе отчета узла

Мы используем Puppet + Foreman для отслеживания изменений в среде путем проверки пользовательских фактов. Например, когда настраиваемый факт равен «истинному», марионетка вызывает ресурс Notify с сообщением, отправленным в журнал агента. Puppet включает это сообщение в отчет агента, а Форман показывает это в пользовательском интерфейсе.

Проблема в том, что всякий раз, когда создается сообщение, Foreman считает это действие «Применено», а статус узла меняется на «Активный» (синий значок). Мы хотим, чтобы узел оставался в состоянии «Без изменений» (зеленый), а также отображал сообщение с уведомлением.

Возможно ли это каким-то образом? Может быть, определить новый пользовательский тип ресурса?

Есть ли способ использовать ресурс Notify, не заставляя марионетку сообщать об изменении узла? Это означает просто распечатать сообщение в журнале клиента (и, следовательно, сообщение будет отображаться в отчете), но без марионетки классифицировать событие как примененную конфигурацию? Причина в том, что когда марионетка запускает ресурс Notify, Foreman помечает узел как активный (измененный).

Вот код марионетки:

class mymodule::myclass::mysubclass {
     if $::fact023 == 'fail' {
     notify {'mynotify1':
       message => "WARNING: Node ${::fqdn} failed fact023",
       loglevel => hiera('warnings_loglevel'),
     }   } }

Смотрите скриншот:

ОБНОВЛЕНИЕ # 1 Я подумываю об изменении файла отчета Foreman, чтобы пользовательский интерфейс игнорировал события Notify, чтобы статус узла оставался неизменным, но все равно отображал сообщение в отчете. Может ли кто-нибудь указать мне правильное направление?