2

这是一个非常简单的问题,我已经阅读了许多建议的解决方案,但我仍然无法让 puppet apply 导入 git::config 类。这是我的文件设置:

我通过nodes.pp导入git模块:

#/etc/puppet/manifests/nodes.pp
node default {
}
include git

site.pp 导入节点.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 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.

原始模块是 puppetlabs-git(相同的文件夹结构),但我使用简化的文件结构(上图)重新创建了错误。

更新 1

上面的错字,git config.pp 和 init.pp 位于文件夹 /modules/git/manifests 中,config.pp 文件显示为“define git::config”

4

2 回答 2

5

您的木偶代码结构错误。您需要将您的 pp 文件移动到清单文件夹。

/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
于 2015-02-26T03:22:51.327 回答
5

你不能打电话include。是定义的类型,而不是。使用 a 的语法如下:git::configgit::configdefined type

git::config { 'the_name_var':
  param1 => 'foo',
  param2 => 'bar'
}

希望这可以帮助

于 2015-02-26T17:56:24.227 回答