Puppet 在资源同步时有条件地打印消息

Puppet 在资源同步时有条件地打印消息,puppet,Puppet,有没有一种方法可以基于资源同步打印消息?比如: 文件所需内容如下,如果已更新(同步),请打印消息,例如,请重新启动系统 我试着跟着 file { 'disableselinux': ensure => present, path => '/etc/selinux/config', mode => 0644, source => "puppet:///modules/base/selinux", } notify{'SElinuxChange':

有没有一种方法可以基于资源同步打印消息?比如: 文件所需内容如下,如果已更新(同步),请打印消息,例如,请重新启动系统

我试着跟着

  file { 'disableselinux':
ensure => present,
path   => '/etc/selinux/config',
mode   => 0644,
source => "puppet:///modules/base/selinux",
  }

  notify{'SElinuxChange':
    loglevel => warning,
    message => 'System needs restart',
    subscribe => File['disableselinux'],    
  }

但我想每次都会打印出这条信息。有没有什么优雅的方法可以避免使用if-then-else标志等。

我不会尝试在Puppet中解决这个问题。将这样的用户反馈作为Puppet日志的一部分,充其量是糟糕的用户体验。触发一个
exec
,向负责相关系统的管理员发送电子邮件怎么样?@Fekux-我还有一个问题,那就是如何在puppet运行后重新启动。我认为这是一个短期解决方案。因为我们主要在独立模式下使用puppet,所以用户可以立即看到消息。但总的来说,我完全同意你的观点。