杀死傀儡清单

杀死傀儡清单

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

case $lsbdistcodename{
'squeeze':{//stuff}
'lenny' : {//stuff}
default : die

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

答案1

你可以使用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}") }
  }
}

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

哦,拜托,看在上帝的份上,升级你的 Puppet 安装吧。0.24 版本太老了,我觉得它甚至不再受支持了。Puppetlabs 提供了最新的稳定软件包(参见 apt.puppetlabs.com),或者你可以使用来自http://backports-master.debian.org/

相关内容