我们正在使用Puppet + Foreman通过检查自定义事实来监视环境中的更改。例如,只要自定义事实等于“真”,puppet就会通过发送给代理日志的消息调用Notify资源。 Puppet在代理报告中包含此消息,Foreman在UI中显示此消息。更改工头UI以忽略Puppet资源“通知”消息
问题在于,无论何时发出消息,Foreman都会将此操作视为“应用”,并将节点状态更改为“活动”(蓝色图标)。 我们希望节点保持“无变化”(绿色),并显示通知消息。
这是可能的某种方式?也许定义一个新的自定义资源类型?
这里是傀儡代码:
class mymodule::myclass::mysubclass {
if $::fact023 == 'fail' {
notify {'mynotify1':
message => "WARNING: Node ${::fqdn} failed fact023",
loglevel => hiera('warnings_loglevel'),
} } }
See screenshot of Foreman here
更新: 我会改进的问题:有没有办法使用的通知资源,而不会造成傀儡报告,节点有办法改变了吗?含义只是将消息打印到客户端日志(因此消息将在报告中可见),但没有木偶将事件分类为应用配置?
的原因是,当傀儡触发通知资源,工头标志节点为活动的(改变)
更新#2 我在考虑改变工头报告文件,使UI会忽略事件通知以便节点的状态保持不变,但仍在报告中显示消息。有人能指引我走向正确的方向吗?谢谢!
UPDATE#3 从“Notify”资源类型切换到由Puppet Forge中的某个小伙子创建的自定义类型"echo"后,问题修复。谢谢!
我们尝试使用notice命令,但正如您所说,这在客户报告中不可见。 我们试图实现的是,当客户报告包含Notify消息时,Forman中的状态将保持不变。 也许这里的方向是改变福尔曼报告代码? – amirb
我会改进问题:有没有办法使用Notify资源而不会导致puppet报告节点已经改变?含义只是将消息打印到客户端日志(因此消息将在报告中可见),但没有木偶将事件分类为应用配置? 原因是,当木偶触发Notify资源时,Foreman将该节点标记为活动(已更改) – amirb
我发现这是我确切的情况:projects.theforeman.org/issues/1443是否有任何解决方法? – amirb