假设我有一个清单,它对每个 Debian 版本都有不同的操作
case $lsbdistcodename{
'squeeze':{//stuff}
'lenny' : {//stuff}
default : die
Run Code Online (Sandbox Code Playgroud)
我希望清单抛出致命错误。我想问题是,我怎么死(如果你会死)?
Puppet 代理/主版本 0.24.6。
您可以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/ 的包。
| 归档时间: |
|
| 查看次数: |
812 次 |
| 最近记录: |