在尝试一次安装多个软件包时,我在Puppet代理上收到以下错误:
err: /Stage[main]/Template::Infrastructure/Package[undef]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install undef' returned 1: Error: Nothing to do
产生错误的代码是:
$ packages = ['qemu-kvm','qemu-kvm-tools','drbd84-tools','kmod-drbd84']
包{
$ ::包:
确保=>“已安装”,
require => Class ['yumrepos :: elrepo']
}
问题是间歇性的。 是否有更好的方法来一次安装多个包而无需为每个包安装一个包资源?
以$::packages使用它明确指出,你希望variables在任何类之外的顶层作用域中查找。 既然你似乎是在课堂上定义它,这是行不通的。
只需使用package { $packages:或者package { $classname::packages:改为。