Podczas wykonywania puppet agentpołączenia z nowego obrazu pojawia się err: Could not find class custommodbłąd. Sam moduł jest /etc/puppet/modules/custommodtaki sam jak wszystkie inne moduły, które wywołujemy, ale ten jest uparty.
[site.pp]
node /clunod-wk\d+\.sub\.example\.local/ {
include base
include curl
include custommod
class{ "custommod::apps": frontend => "false}
[...]
}
Gdy puppetmaster jest uruchamiany z wyjściem debugowania, wyraźnie znajduje informacje o bazie i 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
Linia 84 jest include custommod
Skrócona struktura katalogów i plików:
/etc/puppet
|- manifests
| |- site.pp
|
|- modules
|- base
| |- manifests
| |- init.pp
|
|- curl
| |- manifests
| |- init.pp
|
|- custommod
|- files
| |- apps
| |- [...]
|
|- manifests
|- init.pp
|- apps.pp
Sprawdziłem pisownię:}
Treść init.ppw katalogu klienta jest całkowicie nieistotna:
class custommod {
}
Celem jest utworzenie pustej klasy dla pliku apps.pp, czyli tam, gdzie znajduje się mięso.
class custommod::apps {
[lots of stuff]
}
Tylko nigdy nie dostaje się do pliku aplikacji. Jeśli to skomentuję include custommod, powyższy błąd zostanie wygenerowany w class{ "custommod::apps": frontend => "false}wierszu.
Czego mi brakuje podczas polowania, aby dowiedzieć się, jak generowany jest ten błąd? Muszę zauważyć, że to repozytorium działa dobrze, jeśli jest uruchamiane lokalnie przez puppet apply.
could not retrieve catalog from remote server:błąd, prawdopodobnie dlatego.
custommod- może nawet spróbować init.ppcałkowicie usunąć , ponieważ nie powinno to być potrzebne.
stracena nią okiem i spróbować dowiedzieć się, jakie pliki próbuje odczytać w ten sposób.