Puppet 无主木偶与希拉

Puppet 无主木偶与希拉,puppet,environment,hiera,Puppet,Environment,Hiera,我想用木偶来解释无主人的环境。我正在Ubuntu上安装最新版本的Puppet 我正在使用这个存储库并运行脚本:modules/os/files/puppet.sh 它将当前Puppet存储库下载到/opt/Puppet目录,然后运行其中指定的代码。(它将cronjob设置为指向脚本,因此它将每小时运行一次) 第一次运行后,准备并部署hiera环境(hiera.yaml)。从那时起,代码应该开始连接到hiera数据库,但它不会发生 在模块/os/files/hiera.yaml或清单/site.p

我想用木偶来解释无主人的环境。我正在Ubuntu上安装最新版本的Puppet

我正在使用这个存储库并运行脚本:modules/os/files/puppet.sh

它将当前Puppet存储库下载到
/opt/Puppet
目录,然后运行其中指定的代码。(它将cronjob设置为指向脚本,因此它将每小时运行一次)

第一次运行后,准备并部署hiera环境(hiera.yaml)。从那时起,代码应该开始连接到hiera数据库,但它不会发生


模块/os/files/hiera.yaml清单/site.pp中很可能存在问题,但经过几天的努力,我无法让它正常工作。

好的!我知道什么东西坏了:) common.yaml中的第一个缺失部分:

(...)
classes:
 - os
os::version: 'ugabuga'
(...)
class os (
  $version = 'v0.0.0'
){ (...) }
模块/os/manifests/init.pp中的第二个错误:

(...)
classes:
 - os
os::version: 'ugabuga'
(...)
class os (
  $version = 'v0.0.0'
){ (...) }
而不是:

class os {
$version = 'v0.0.0'
(...)
}
最后,代码应该包含在清单/site.pp中,如下所示:

node default {
  hiera_include('classes')
  include os
}

就这样!但这不是小事——至少对我来说是这样。在这种情况下,文档并没有那么具体,也没有复杂的例子。

到底是什么不起作用?在puppet代码中,在os模块中,我有几个变量。我想用希拉覆盖它们。例如,存在“version”变量。默认情况下,它等于“v0.0.0”。我希望hiera的配置方式是,每次puppet执行配置时,这个变量都会被覆盖为'ugabuga',但我遗漏了一些东西。。