Bel*_*dez 3 linux centos puppet
我在一个模块中有一个类:
# File: modules/selinux/tools.pp
class selinux::tools {
$packages = ['policycoreutils-python',]
package { $packages:
ensure => installed
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我的默认节点:
# File: manifests/nodes/default.pp
node default {
if $selinux {
include selinux::tools
}
}
Run Code Online (Sandbox Code Playgroud)
我重新启动puppetmaster和puppet代理。但是,即使selinux事实是错误的,该软件包也会安装在节点中:
$ facter -p selinux
false
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
事实中的“真”或“假”selinux只是 Puppet 的一个字符串,它不会将字符串的内容视为布尔值。正确的做法是将它与另一个字符串进行比较:
if $selinux == "true" {
include selinux::tools
}
Run Code Online (Sandbox Code Playgroud)
有一个功能要求更改行为,以便将 Facter 布尔值正确地视为 Puppet 布尔值。
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |