Puppet instalando vários pacotes resulta no erro Package [undef]

2

Estou recebendo o seguinte erro em um agente Puppet ao tentar instalar vários pacotes de uma só vez:

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

O código que gera o erro é:

$packages = [ 'qemu-kvm', 'qemu-kvm-tools', 'drbd84-tools', 'kmod-drbd84' ]
package {
  $::packages :
    ensure  =>  'installed',
    require =>  Class['yumrepos::elrepo']
}

O problema é intermitente. Existe uma maneira melhor de instalar vários pacotes de uma vez sem ter que configurar um recurso de pacote para cada um?

    
por Andy Shinn 06.09.2012 / 04:12

1 resposta

4

O uso como $::packages indica explicitamente que você deseja que a variável seja pesquisada no escopo superior, fora de qualquer classe. Já que você parece estar definindo dentro de uma classe, isso não funcionará.

Use apenas package { $packages: ou package { $classname::packages: .

    
por 06.09.2012 / 04:54

Tags