假设您有一个必须满足的任意要求才能运行木偶模块。 你会如何使木偶模块优雅地退出?
例如,假设我的模块需要puppet 3.2或更高版本才能成功运行。如果模块尝试在3.1.x上运行,它将失败(非正常)。
http://docs.puppetlabs.com/references/latest/function.html#warning
答案 0 :(得分:3)
由于无法使用普通的木偶比较运算符将字符串与整数进行比较,因此需要使用versioncmp()function。
if versioncmp("${::puppetversion}", '3.0.0') < 0 {
fail("foo requires foo 3.0.0 or greater, found: \'$::puppetversion\'")
}
来自木偶irc chanel的ramindk也指出你可以使用正则表达式:
if $::puppetversion =~ /^3/ {
fail("foo requires foo 3.0.0 or greater, found: \'$::puppetversion\'")
}
答案 1 :(得分:1)
package { "puppet" :
version => "3.2.0",
ensure => present,
}
class arbitrary {
file { "random_file":
require => Package["puppet"],
}
}