我在 RHEL 6 上运行 Puppet v3.0 并通过exec
资源进行包管理。我想通过onlyif
和将一些控制门添加到我的清单中unless
。
首先,我想使用 Hiera [自动查找功能]中定义的布尔值。其次,我想使用运行的 bash 脚本中的布尔值diff <() <()
。
我使用以下层次数据:
---
my-class::package::patch_now:
0
my-class::package::package_list:
acl-2.2.49-6.el6-x86_64
acpid-1.0.10-2.1.el6-x86_64
...etc
我的清单如下:
# less package.pp
class my-classs::package(
$package_list,
$patch_now,
){
exec {'patch_packages':
provider => shell,
path => [ "/bin/", "/usr/bin/" ],
logoutput => true,
timeout => 100,
command => "yum update -e0 -d0 -y $package_list",
unless => "/path/to/my-diff.script 2>&1 > /dev/null",
onlyif => "test 0 -eq $patch_now",
}
}
unless
我将如何在上面的上下文中测试来自 Hiera 的布尔值 (0|1)和CLI diff.script onlyif
?