puppet onlyif 指定节点

Val*_*inr 2 linux puppet

我正在尝试编写一个木偶模板。我有一个傀儡师和几个傀儡特工,他们都必须分开。我认为通过节点的主机名来做到这一点很好。但是当我尝试这样做时,我遇到了一个错误

"puppet-agent[169037]: (/Stage[main]//Exec[adduser]) Could not evaluate: Could not find command 'ru1'"

看下面的代码

exec { 'adduser': 
        command => 'sudo adduser -m -p pawSfQewWrUAA test -G wheel',
        path => [ '/bin','/usr/bin' ],
        onlyif => "$hostname == ru1"
}
Run Code Online (Sandbox Code Playgroud)

我只需要为一个主机名为 ru1 的节点指定此任务。那么我可以这样做吗?谢谢。

Jan*_*nen 7

这不是更容易、更明智吗?

case $hostname {
    ru1: user {
             ensure => 'present',
             name => 'test',
             gid => 'wheel',
             password => 'pawSfQewWrUAA',
             otherparametersgohere,
             }
}
Run Code Online (Sandbox Code Playgroud)

代码语法可能并不完美,因为这只是我的头脑,没有以任何方式检查语法或测试它。但是你明白了。