Quando si effettua una puppet agent
chiamata da una nuova immagine, viene visualizzato un err: Could not find class custommod
errore. Il modulo stesso è /etc/puppet/modules/custommod
uguale a tutti gli altri moduli che stiamo chiamando, ma questo è ostinato.
[Site.pp]
node /clunod-wk\d+\.sub\.example\.local/ {
include base
include curl
include custommod
class{ "custommod::apps": frontend => "false}
[...]
}
Quando il burattinaio viene eseguito con l'output di debug, trova chiaramente le informazioni per base e 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 linea 84 è include custommod
Una directory e una struttura di file abbreviate:
/etc/puppet
|- manifests
| |- site.pp
|
|- modules
|- base
| |- manifests
| |- init.pp
|
|- curl
| |- manifests
| |- init.pp
|
|- custommod
|- files
| |- apps
| |- [...]
|
|- manifests
|- init.pp
|- apps.pp
Ho controllato l'ortografia:}
Il contenuto di init.pp
nella directory custommod è completamente irrilevante:
class custommod {
}
L'intento è quello di creare una classe vuota per il file apps.pp, che è dove si trova la carne.
class custommod::apps {
[lots of stuff]
}
Solo, non arriva mai al file delle app. Se commento il include custommod
, l'errore sopra riportato viene generato sulla class{ "custommod::apps": frontend => "false}
riga.
Cosa mi manca nella mia caccia per scoprire come viene generato questo errore? Devo notare che questo repository funziona perfettamente se viene eseguito localmente tramite puppet apply
.
could not retrieve catalog from remote server:
errore, probabilmente per questo.
custommod
- forse anche provare a eliminare del init.pp
tutto, poiché non dovrebbe essere necessario.
strace
e provare a capire quali file sta tentando di leggere in quel modo.