傀儡申请 'could not find class'
puppet apply 'could not find class'
这是一个非常简单的问题,我已经阅读了许多建议的解决方案,但我仍然无法让 puppet 申请导入 git::config class。这是我的文件设置:
我通过 nodes.pp 导入 git 模块:
#/etc/puppet/manifests/nodes.pp
node default {
}
include git
site.pp 进口 nodes.pp:
#/etc/puppet/manifests/site.pp
import 'nodes.pp'
git模块定义如下:
#/etc/puppet/modules/git/manifests/init.pp
class git {
include git::install
include git::config
}
class git::install{
package {'git': => present }
}
和配置文件:
#/etc/puppet/modules/git/manifests/config.pp
define git::config{
[some code here]
}
当我 运行 puppet 申请时,puppet 没有找到 git::config class:
sudo puppet apply --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp
Error: Could not find class git::config for xxxx on node xxxx.
原始模块是 puppetlabs-git(相同的文件夹结构),但我使用简化的文件结构(上面)重新创建了错误。
更新 1
上面的错字,git config.pp 和 init.pp 在文件夹 /modules/git/manifests 中,config.pp 文件读取 'define git::config'
您的人偶代码结构有误。您需要将 pp 文件移动到 manifests 文件夹。
/etc/puppet/modules/git/init.pp
/etc/puppet/modules/git/config.pp
到
/etc/puppet/modules/git/manifests/init.pp
/etc/puppet/modules/git/manifests/config.pp
您不能在 git::config
上呼叫 include
。 git::config
是一个 defined type, not a class。使用 defined type
的语法如下:
git::config { 'the_name_var':
param1 => 'foo',
param2 => 'bar'
}
希望对您有所帮助
这是一个非常简单的问题,我已经阅读了许多建议的解决方案,但我仍然无法让 puppet 申请导入 git::config class。这是我的文件设置:
我通过 nodes.pp 导入 git 模块:
#/etc/puppet/manifests/nodes.pp
node default {
}
include git
site.pp 进口 nodes.pp:
#/etc/puppet/manifests/site.pp
import 'nodes.pp'
git模块定义如下:
#/etc/puppet/modules/git/manifests/init.pp
class git {
include git::install
include git::config
}
class git::install{
package {'git': => present }
}
和配置文件:
#/etc/puppet/modules/git/manifests/config.pp
define git::config{
[some code here]
}
当我 运行 puppet 申请时,puppet 没有找到 git::config class:
sudo puppet apply --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp
Error: Could not find class git::config for xxxx on node xxxx.
原始模块是 puppetlabs-git(相同的文件夹结构),但我使用简化的文件结构(上面)重新创建了错误。
更新 1
上面的错字,git config.pp 和 init.pp 在文件夹 /modules/git/manifests 中,config.pp 文件读取 'define git::config'
您的人偶代码结构有误。您需要将 pp 文件移动到 manifests 文件夹。
/etc/puppet/modules/git/init.pp
/etc/puppet/modules/git/config.pp
到
/etc/puppet/modules/git/manifests/init.pp
/etc/puppet/modules/git/manifests/config.pp
您不能在 git::config
上呼叫 include
。 git::config
是一个 defined type, not a class。使用 defined type
的语法如下:
git::config { 'the_name_var':
param1 => 'foo',
param2 => 'bar'
}
希望对您有所帮助