每当我配置 vagrant 时,所有数据都是零。当我通过 ssh 登录并指定/etc/puppet/hiera.yaml
为配置选项时,我可以获取值。如何让 vagrant 使用正确的 hiera.config 文件?
# Enable the Puppet provisioner
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/"
puppet.manifest_file = "default.pp"
puppet.module_path = "puppet/modules"
puppet.hiera_config_path = "puppet/hiera.yaml"
puppet.options = "--verbose --debug"
end
如果您想查看所有代码,请参阅我的 bitbucket。https://bitbucket.org/yamiko/izanagi/src
答案1
嗯,我没有发现你的配置有什么错误。但这是我的工作配置:
node.vm.provision "puppet" do |puppet|
puppet.hiera_config_path = "puppet-data/hiera.yaml"
puppet.manifests_path = "puppet-data/"
puppet.module_path = "puppet-modules/modules"
puppet.options = "--parser future --verbose"
puppet.facter = {
"virtual_type" => "vagrant",
}
hiera.yaml
:backends:
- yaml
:yaml:
:datadir: '/vagrant/puppet-data'
:hierarchy:
- common
puppet-data 是目录中存储Vagrantfile的目录。
答案2
事实证明,hiera 正在被加载,但所有数据都是 nil,因为我的一个键使用了解析器的无效字符。奇怪的是,它给了我 nill 而不是解析错误......