Я получаю следующую ошибку в агенте Puppet при попытке установить несколько пакетов одновременно:
err: / Stage [main] / Template :: Инфраструктура / Пакет [undef] / sure: изменение с отсутствующего на настоящее завершилось неудачно: выполнение '/ usr / bin / yum -d 0 -e 0 -y install undef' вернуло 1: Ошибка: нечего делать
Код генерируется ошибка:
$packages = [ 'qemu-kvm', 'qemu-kvm-tools', 'drbd84-tools', 'kmod-drbd84' ] package { $::packages : ensure => 'installed', require => Class['yumrepos::elrepo'] }
Проблема периодически повторяется. Есть ли лучший способ установить сразу несколько пакетов без необходимости настраивать ресурс пакета для каждого?
Использование его в качестве $ :: packages
явно указывает, что вы хотите, чтобы переменная просматривалась в верхней области видимости вне любого класса. Поскольку вы, кажется, определяете его внутри класса, это не сработает.
Просто используйте вместо него пакет {$ packages:
или пакет {$ classname :: packages:
.