我目前正试图重build这里描述的例子
问题是,当我尝试获取ntp :: serversvariables时,出现以下错误,这是我在理解时遇到的问题。
hiera ntp::servers ::fqdn=debian /usr/lib/ruby/vendor_ruby/hiera/backend.rb:18:in `[]': can't convert Symbol into Integer (TypeError) from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:18:in `datadir' from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:98:in `datasourcefiles' from /usr/lib/ruby/vendor_ruby/hiera/backend/yaml_backend.rb:16:in `lookup' from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:206:in `block in lookup' from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:203:in `each' from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:203:in `lookup' from /usr/lib/ruby/vendor_ruby/hiera.rb:60:in `lookup' from /usr/bin/hiera:225:in `<main>'
我正在考虑一些可怕的故事
我的/etc/puppet/hiera.yaml。 (有点不同,但它也应该工作)
:backends: - yaml - puppet :yaml: - :datadir: /etc/puppet/hieradata :puppet: - :datadir: data :hierarchy: - "node/%{::clientcert}" - "%{::environment}" - common
符号链接是正确的
ls -l /etc/hiera.yaml lrwxrwxrwx 1 root root 22 Sep 15 15:33 /etc/hiera.yaml -> /etc/puppet/hiera.yaml
我的示例文件:/etc/puppet/hieradata/node/debian.yaml
ntp::restrict: - ntp::autoupdate: false ntp::enable: true ntp::servers: - 0.us.pool.ntp.org iburst - 1.us.pool.ntp.org iburst - 2.us.pool.ntp.org iburst - 3.us.pool.ntp.org iburst
我不确切地用哪个工具来检查YAML是否受到欢迎。 我从网站上复制它,所以我认为这是确定的。
木偶大师也重新启动了。
那么hiera工具给我的错误有什么问题呢?
您select了使用%{::clientcert}
的更安全的path,而不是使用%{::fqdn}
,这是值得称赞的。 但是在执行查找时,请确保提供一个值,而不是::fqdn=debian
。
此外,而不是:datadir
, puppet
后端有一个:datasource
选项(见文档 )。
我build议暂时去掉puppet
后端。 如果你发现你真的需要它,就添加它。 大多数用户不会。