Назад | Перейти на главную страницу

Puppet установка нескольких пакетов приводит к ошибке пакета [undef]

Я получаю следующую ошибку в агенте 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: вместо.