Bei einem puppet agent
Anruf von einem neuen Bild erhalte ich eine err: Could not find class custommod
Fehlermeldung. Das Modul selbst ist /etc/puppet/modules/custommod
dasselbe wie alle anderen Module, die wir aufrufen, aber dieses ist hartnäckig.
[site.pp]
node /clunod-wk\d+\.sub\.example\.local/ {
include base
include curl
include custommod
class{ "custommod::apps": frontend => "false}
[...]
}
Wenn der Puppenmeister mit Debug-Ausgabe ausgeführt wird, werden die Informationen für Basis und Curl eindeutig gefunden:
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
Linie 84 ist include custommod
Eine abgekürzte Verzeichnis- und Dateistruktur:
/etc/puppet
|- manifests
| |- site.pp
|
|- modules
|- base
| |- manifests
| |- init.pp
|
|- curl
| |- manifests
| |- init.pp
|
|- custommod
|- files
| |- apps
| |- [...]
|
|- manifests
|- init.pp
|- apps.pp
Ich habe die Rechtschreibung überprüft:}
Der Inhalt von init.pp
im custommod-Verzeichnis ist völlig unauffällig:
class custommod {
}
Die Absicht ist, eine leere Klasse für die Datei apps.pp zu erstellen, in der sich das Fleisch befindet.
class custommod::apps {
[lots of stuff]
}
Nur, es kommt nie zur Apps-Datei. Wenn ich das auskommentiere, include custommod
wird der obige Fehler class{ "custommod::apps": frontend => "false}
stattdessen in der Zeile generiert .
Was fehlt mir bei meiner Suche, um herauszufinden, wie dieser Fehler erzeugt wird? Ich muss beachten, dass dieses Repo gut funktioniert, wenn es lokal über ausgeführt wird puppet apply
.
could not retrieve catalog from remote server:
Fehler angezeigt. Dies ist wahrscheinlich der Grund.
custommod
Leerzeichen init.pp
nicht mehr einzuschließen - vielleicht sollten Sie es sogar ganz löschen , da es nicht benötigt werden sollte.
strace
und herauszufinden, welche Dateien auf diese Weise gelesen werden sollen.