And*_*rew 2 puppet puppet-enterprise
这是一个非常简单的问题,我已经阅读了一些建议的解决方案,但我仍然无法获得puppet申请导入git :: config类.这是我的文件设置:
我通过nodes.pp导入git模块:
#/etc/puppet/manifests/nodes.pp
node default {
}
include git
Run Code Online (Sandbox Code Playgroud)
site.pp导入nodes.pp:
#/etc/puppet/manifests/site.pp
import 'nodes.pp'
Run Code Online (Sandbox Code Playgroud)
git模块定义如下:
#/etc/puppet/modules/git/manifests/init.pp
class git {
include git::install
include git::config
}
class git::install{
package {'git': => present }
}
Run Code Online (Sandbox Code Playgroud)
和配置文件:
#/etc/puppet/modules/git/manifests/config.pp
define git::config{
[some code here]
}
Run Code Online (Sandbox Code Playgroud)
当我运行puppet apply时,puppet找不到git :: config类:
sudo puppet apply --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp
Error: Could not find class git::config for xxxx on node xxxx.
Run Code Online (Sandbox Code Playgroud)
原始模块是puppetlabs-git(相同的文件夹结构),但我使用简化的文件结构(上面)重新创建了错误.
更新1
上面的错字,git config.pp和init.pp在文件夹/ modules/git/manifests中,config.pp文件读取'define git :: config'
你的木偶代码结构是错误的.您需要移动您的pp文件以显示文件夹.
/etc/puppet/modules/git/init.pp
/etc/puppet/modules/git/config.pp
Run Code Online (Sandbox Code Playgroud)
至
/etc/puppet/modules/git/manifests/init.pp
/etc/puppet/modules/git/manifests/config.pp
Run Code Online (Sandbox Code Playgroud)
你不能打电话include的git::config.git::config是一个已定义的类型,而不是一个类.使用a的语法defined type如下:
git::config { 'the_name_var':
param1 => 'foo',
param2 => 'bar'
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助