2

假设您有一个必须满足的任意要求才能运行 puppet 模块。您将如何使 puppet 模块优雅地退出?

例如,假设我的模块需要 puppet 3.2 或更高版本才能成功运行。如果模块尝试在 3.1.x 上运行,它将失败(非正常)。

我可以做一个通知、通知警报警告

http://docs.puppetlabs.com/references/latest/function.html#warning

4

1 回答 1

3

由于您无法使用普通的 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\'")
}
于 2014-07-07T23:55:06.050 回答