假设我有一个对每个Debian版本都有不同行为的清单
case $lsbdistcodename{ 'squeeze':{//stuff} 'lenny' : {//stuff} default : die
我想清单抛出一个致命的错误。 我想问题是,我怎么死(如果你会的话)?
傀儡代理/主版本0.24.6。
您可以使用failfunction。 我通常做这样的事情:
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/中的软件包。