杀死一个傀儡清单

Nic*_*ckP 4 debian puppet

假设我有一个清单,它对每个 Debian 版本都有不同的操作

case $lsbdistcodename{
'squeeze':{//stuff}
'lenny' : {//stuff}
default : die
Run Code Online (Sandbox Code Playgroud)

我希望清单抛出致命错误。我想问题是,我怎么死(如果你会死)?
Puppet 代理/主版本 0.24.6。

daf*_*aff 7

您可以fail为此使用该功能。我通常做这样的事情:

class postfix::params {
  case $::operatingsystem {
    Debian, Ubuntu: {
      $postfix_package_name       = 'postfix'
      $postfix_postmap_command    = '/usr/sbin/postmap'
      $postfix_service_name       = 'postfix'
    }
    default: { fail("${::hostname}: Module ${::module_name} does not support operatingsystem ${::operatingsystem}") }
  }
}
Run Code Online (Sandbox Code Playgroud)

这会使模块在未运行 Debian 或 Ubuntu 的 Puppet 节点上失败。

哦,拜托,为了热爱一切美好和神圣的事物,请升级您的 Puppet 装置。0.24 是古老的,我认为它甚至不再受支持。Puppetlabs 提供最新的稳定包(参见 apt.puppetlabs.com),或者您可以使用来自http://backports-master.debian.org/ 的包