1

私は 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

puppet.conf からの Windows エージェント構成:

[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

何か設定が間違っているに違いありませんが、どこにあるのかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

1

設定への変更をhiera有効にするには、必ず を再起動する必要がありますpuppet masterpuppetserverで実行される を使用している場合は、サービスJVMを再起動しpe-puppetserverます。rubyで実行されている古いマスターを使用している場合はpassenger、 を再起動しpe-httpdます。

hiera docsから取得:

Puppet マスターに関する注意: エージェントの実行の間に hiera.yaml を変更した場合、変更を有効にするために puppet マスターを再起動する必要があります。

于 2015-05-13T14:11:38.970 に答える