เมื่อทำการ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}
[...]
}
เมื่อ puppetmaster รันด้วยเอาต์พุต debug มันจะค้นหาข้อมูลสำหรับฐานและขดอย่างชัดเจน:
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}
บรรทัดแทน
ฉันขาดอะไรบ้างในการตามล่าเพื่อค้นหาว่าข้อผิดพลาดนี้ถูกสร้างขึ้นอย่างไร ฉันต้องการที่จะทราบว่า repo puppet apply
นี้ทำงานได้ดีหากมีการทำงานเฉพาะทาง
could not retrieve catalog from remote server:
ข้อผิดพลาดซึ่งอาจเป็นสาเหตุ
custommod
- หรืออาจลองลบinit.pp
ไปพร้อม ๆ กันเพราะมันไม่จำเป็น
strace
มันและพยายามที่จะคิดออกว่าไฟล์ใดที่มันพยายามจะอ่าน