hiera.yaml 未在 vagrant provision 上加载

hiera.yaml 未在 vagrant provision 上加载

每当我配置 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 而不是解析错误......

相关内容