[英]Puppet Error : Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Could not find class
[英]Puppet Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class
我正在嘗試使用github上發布的指令部署一個名為Bag-Of-Holding的應用程序 - https://github.com/ribeiroit/boh-puppet
我運行命令: sudo puppet apply /etc/puppet/manifests/site.pp
我得到以下錯誤:
錯誤:評估錯誤:評估資源聲明時出錯,無法在節點lab1-hp-elitebook-8570p上的/etc/puppet/manifests/site.pp:2:2找到聲明的類boh
似乎木偶很難找到已經在清單文件夾中的類boh
這是我的目錄樹:
/etc/puppet
├── code
├── manifests
└── modules
└── boh-puppet
├── manifests
└── templates
我的site.pp
文件位於/etc/puppet/manifests
,它看起來像這樣:
node 'lab1-hp-elitebook-8570p' {
class { 'boh':
python_version => 3,
environment => 'dev',
language => 'en',
debug => 'True',
create_superuser => 'true',
pkg_checksum => '86b0164f7fd6c5e4aa43c8f056f08cea'
}
}
並且init.pp
文件具有class {boh }
並且位於: /etc/puppet/modules/boh-puppet/manifests
任何想法如何解決這一問題?
在自動加載時,Puppet需要某些名稱空間限制和約定以及模塊目錄結構和類名。 在這種情況下,你的問題可以簡單地大部分解決,干凈地通過重命名你的模塊目錄按照通常慣例boh-puppet
簡單地boh
。 這將解決您的問題。
有關更多信息,請參閱此處的文檔: https : //puppet.com/docs/puppet/4.10/lang_namespaces.html
由於您正在使用具有絕對路徑的puppet apply
,您還需要通過將命令修改為以下命令來提供模塊的路徑: sudo puppet apply --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp
。
您沒有正確調用模塊名稱。 這應該工作:
node 'lab1-hp-elitebook-8570p' {
class { 'boh-puppet':
python_version => 3,
environment => 'dev',
language => 'en',
debug => 'True',
create_superuser => 'true',
pkg_checksum => '86b0164f7fd6c5e4aa43c8f056f08cea'
}
}
或者fqn:
node 'lab1-hp-elitebook-8570p' {
class { '::boh-puppet':
python_version => 3,
environment => 'dev',
language => 'en',
debug => 'True',
create_superuser => 'true',
pkg_checksum => '86b0164f7fd6c5e4aa43c8f056f08cea'
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.