puppet agent
새 이미지에서 전화를 걸 때 err: Could not find class custommod
오류가 발생합니다. 모듈 자체는 /etc/puppet/modules/custommod
우리가 호출하는 다른 모든 모듈과 동일하지만 이것은 필수입니다.
[site.pp]
node /clunod-wk\d+\.sub\.example\.local/ {
include base
include curl
include custommod
class{ "custommod::apps": frontend => "false}
[...]
}
퍼펫 마스터가 디버그 출력으로 실행되면 기본 및 컬에 대한 정보를 명확하게 찾습니다.
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
84 행은 include custommod
약식 디렉토리 및 파일 구조 :
/etc/puppet
|- manifests
| |- site.pp
|
|- modules
|- base
| |- manifests
| |- init.pp
|
|- curl
| |- manifests
| |- init.pp
|
|- custommod
|- files
| |- apps
| |- [...]
|
|- manifests
|- init.pp
|- apps.pp
철자를 확인했습니다 :}
init.pp
custommod 디렉토리 의 내용 은 완전히 주목할 수 없습니다.
class custommod {
}
목적은 apps.pp 파일을위한 빈 클래스를 만드는 것입니다.
class custommod::apps {
[lots of stuff]
}
단지 앱 파일에 도달하지 않습니다. 를 주석 처리 include custommod
하면 위의 오류가 class{ "custommod::apps": frontend => "false}
줄에 생성 됩니다.
이 오류가 어떻게 발생하는지 찾기 위해 사냥에서 무엇을 놓치고 있습니까? 이 리포지토리를 통해 로컬로 실행하면 제대로 작동합니다 puppet apply
.
could not retrieve catalog from remote server:
오류가 발생했을 수 있습니다.
custommod
- init.pp
필요하지 않을 수도 있기 때문에 완전히 삭제 해보 십시오.
strace
그것을 던져서 그 파일을 읽는 방법을 알아내는 것입니다.