Я получаю следующую ошибку в агенте 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' ] package { $::packages : ensure => 'installed', require => Class['yumrepos::elrepo'] }
Проблема временная. Есть ли лучший способ установить сразу несколько пакетов без необходимости настраивать ресурс пакета для каждого?
Используя это как $::packages
прямо заявляет, что вы хотите, чтобы переменная просматривалась в верхней области видимости вне любого класса. Поскольку вы, кажется, определяете его внутри класса, это не сработает.
Просто используйте package { $packages:
или package { $classname::packages:
вместо.