在 Puppet Enterprise 上配置 Hiera
Configuring Hiera on Puppet Enterprise
我是 Puppet 和 Hiera 的新手,在尝试将包含 Hiera 查找的模块应用于代理时遇到配置问题。
来自 /etc/puppetlabs/puppet/hiera.yaml:
---
:backends:
- yaml
:hierarchy:
- defaults
- "%{clientcert}"
- "%{environment}"
- global
:yaml:
:datadir: '/etc/puppetlabs/puppet/hiera'
来自/etc/puppetlabs/puppet/hiera/develop.yaml:
git_client:
file_content:here
当 运行 Hiera 调试时:
/opt/puppet/bin/hiera git_client environment=develop -c /etc/puppetlabs/puppet/hiera.yaml --debug
DEBUG: 2015-05-12 12:40:27 -0400: Hiera YAML backend starting
DEBUG: 2015-05-12 12:40:27 -0400: Looking up git_client in YAML backend
DEBUG: 2015-05-12 12:40:27 -0400: Looking for data source defaults
DEBUG: 2015-05-12 12:40:27 -0400: Cannot find datafile /etc/puppetlabs/puppet/hiera/defaults.yaml, skipping
DEBUG: 2015-05-12 12:40:27 -0400: Looking for data source develop
DEBUG: 2015-05-12 12:40:27 -0400: Found git_client in develop
file_content:here
Windows 代理配置来自 puppet.conf:
[main]
server=[REDACTED]
pluginsync=true
autoflush=true
archive_files=true
archive_file_server=[REDACTED]
graph=true
environment=develop
但是当 运行 来自 Windows 代理时:
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find data item git_client in any Hiera data file and no default supplied at /etc/puppetlabs/puppet/environments/develop/modules/[REDACTED PATH TO .pp FILE]:24 on node [REDACTED]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
我一定是配置有误,但我不确定在哪里。任何帮助将不胜感激。
为了使 hiera
配置的更改生效,您需要确保重新启动 puppet master
。如果您使用的是在 JVM
中运行的 puppetserver
,则重新启动 pe-puppetserver
服务。如果您在 passenger
上使用旧 ruby
master 运行,则重新启动 pe-httpd
.
取自 hiera docs:
Puppet master note: If you modify hiera.yaml between agent runs, you’ll have to restart your puppet master for your changes to take effect.
我是 Puppet 和 Hiera 的新手,在尝试将包含 Hiera 查找的模块应用于代理时遇到配置问题。
来自 /etc/puppetlabs/puppet/hiera.yaml:
---
:backends:
- yaml
:hierarchy:
- defaults
- "%{clientcert}"
- "%{environment}"
- global
:yaml:
:datadir: '/etc/puppetlabs/puppet/hiera'
来自/etc/puppetlabs/puppet/hiera/develop.yaml:
git_client:
file_content:here
当 运行 Hiera 调试时:
/opt/puppet/bin/hiera git_client environment=develop -c /etc/puppetlabs/puppet/hiera.yaml --debug
DEBUG: 2015-05-12 12:40:27 -0400: Hiera YAML backend starting
DEBUG: 2015-05-12 12:40:27 -0400: Looking up git_client in YAML backend
DEBUG: 2015-05-12 12:40:27 -0400: Looking for data source defaults
DEBUG: 2015-05-12 12:40:27 -0400: Cannot find datafile /etc/puppetlabs/puppet/hiera/defaults.yaml, skipping
DEBUG: 2015-05-12 12:40:27 -0400: Looking for data source develop
DEBUG: 2015-05-12 12:40:27 -0400: Found git_client in develop
file_content:here
Windows 代理配置来自 puppet.conf:
[main]
server=[REDACTED]
pluginsync=true
autoflush=true
archive_files=true
archive_file_server=[REDACTED]
graph=true
environment=develop
但是当 运行 来自 Windows 代理时:
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find data item git_client in any Hiera data file and no default supplied at /etc/puppetlabs/puppet/environments/develop/modules/[REDACTED PATH TO .pp FILE]:24 on node [REDACTED]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
我一定是配置有误,但我不确定在哪里。任何帮助将不胜感激。
为了使 hiera
配置的更改生效,您需要确保重新启动 puppet master
。如果您使用的是在 JVM
中运行的 puppetserver
,则重新启动 pe-puppetserver
服务。如果您在 passenger
上使用旧 ruby
master 运行,则重新启动 pe-httpd
.
取自 hiera docs:
Puppet master note: If you modify hiera.yaml between agent runs, you’ll have to restart your puppet master for your changes to take effect.