Error al intentar gestionar fuentes aptas con Puppet

Error al intentar gestionar fuentes aptas con Puppet

Estoy intentando que Puppet administre mi lista de fuentes apt de Debian, sin embargo, la compilación del catálogo falla con este error:

Error: No se pudo recuperar el catálogo del servidor remoto: Error 400 en el SERVIDOR: ::apt::config_files no es un hash o una matriz cuando se accede a él con la lista en /etc/puppet/environments/production/modules/apt/manifests/setting. pp:45 en el nodo [nombre de host]

No tengo idea de dónde debería proporcionar ::apt::config_files o qué necesitaría incluir. Mis manifiestos contienen lo siguiente:

# site.pp
node <hostname> {
  include roles::myrole
}

# myrole.pp
class roles::myrole.pp {
  include profiles::apt
}

# apt.pp
class profiles::apt {

  # Get our apt sources out of Hiera.
  $hiera_apt_sources = hiera_hash(apt_sources)

  # Create our apt sources.
  create_resources(apt::source, $hiera_apt_sources)

}

# hieradata (yaml)
apt_sources:
  'debian_stable':
    location: 'ftp.be.debian.org/debian/'
    release: 'stable'
    repos: 'main contrib non-free'
  'debian_security':
    location: 'security.debian.org'
    release: 'updates'
    repos: 'main contrib non-free'

¿Me estoy perdiendo algo obvio aquí? He revisado la documentación enLa forjayesta publicación de Puppetlabsy algunos otros éxitos en Google.

También lo intenté include apten apt.pp, pero fue en vano.

Respuesta1

Resulta que el espacio de nombres era el problema.

Para que esto funcione necesito que se llame al MÓDULO 'apt'. Al especificar include apto class { 'apt': }en la clase profiles::apt, intenta incluirse o llamarse a sí mismo. Cambiar a class { '::apt': }(nombre absoluto) soluciona el problema.

información relacionada