尝试一次安装多个包时,我在 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
明确声明您希望在任何类之外的顶级范围内查找变量。由于您似乎是在类中定义它,因此这是行不通的。只需使用
package { $packages:
或package { $classname::packages:
代替。