Al hacer una puppet agent
llamada desde una nueva imagen, recibo un err: Could not find class custommod
error. El módulo en sí es el /etc/puppet/modules/custommod
mismo que todos los otros módulos que estamos llamando, pero este es obstinante.
[site.pp]
node /clunod-wk\d+\.sub\.example\.local/ {
include base
include curl
include custommod
class{ "custommod::apps": frontend => "false}
[...]
}
Cuando el puppetmaster se ejecuta con salida de depuración, encuentra claramente la información para base y curl:
debug: importing '/etc/puppet/modules/base/manifests/init.pp' in environment production
debug: Automatically imported base from base into production
debug: importing '/etc/puppet/modules/curl/manifests/init.pp' in environment production
debug: Automatically imported curl from curl into production
err: Could not find class custommod for clunod-wk0130.sub.example.local at /etc/puppet/manifests/site.pp:84 on node clunod-wk0130.sub.example.local
La línea 84 es include custommod
Un directorio abreviado y estructura de archivos:
/etc/puppet
|- manifests
| |- site.pp
|
|- modules
|- base
| |- manifests
| |- init.pp
|
|- curl
| |- manifests
| |- init.pp
|
|- custommod
|- files
| |- apps
| |- [...]
|
|- manifests
|- init.pp
|- apps.pp
Verifiqué la ortografía:}
El contenido del init.pp
directorio custommod es completamente irrelevante:
class custommod {
}
La intención es crear una clase vacía para el archivo apps.pp, que es donde está la carne.
class custommod::apps {
[lots of stuff]
}
Solo que nunca llega al archivo de aplicaciones. Si comento el include custommod
, el error anterior se genera en la class{ "custommod::apps": frontend => "false}
línea en su lugar.
¿Qué me falta en mi búsqueda para averiguar cómo se genera este error? Tengo que tener en cuenta que este repositorio funciona bien si se ejecuta localmente a través de puppet apply
.
could not retrieve catalog from remote server:
error, lo que probablemente sea la razón.
custommod
, tal vez incluso intente eliminarlo por init.pp
completo, ya que no debería ser necesario.
strace
e intentar averiguar qué archivos está intentando leer de esa manera.