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