我希望puppet在/ etc中寻找hiera.yaml,但是它正在/ etc / puppet中寻找它。我在puppet.conf中添加一行:
hiera_config = /etc/hiera.yaml
但是当我运行脚本时,仍然会给我hiera.yaml更新警告。
我正在从Vagrant 1.2.2运行脚本。使用puppet 3.2.2
我在vm中运行Centos 6.4。
答案 0 :(得分:8)
我发现流浪汉中的木偶供应者现在支持hiera_config_path
,这完全符合预期。
config.vm.provision :puppet do |puppet|
# path on host machine to hiera.yaml
puppet.hiera_config_path = '/Users/me/vms/hiera/hiera.yaml'
# This sets the relative path for hiera data directories
puppet.working_directory = '/Users/me/vms/hiera'
end
这在Vagrant: Up and Running中有记载,但在我开始研究流浪者来源以实现此功能之前,我没有找到它。
答案 1 :(得分:2)
嗯...在Vagrant 1.2.2和Puppet 3.2.3上,我可以在puppet.conf中设置hiera_config而不会出现问题。我会仔细检查你是在Vagrant vm上编辑/etc/puppet.conf,而不是在主机上,并且hiera_config行是[main]块,而不仅仅是在[master]块中。
如果这两个条件都为真并且仍然无效,您可以尝试在Vagrantfile中显式设置hiera_config:
config.vm.provision :puppet do |puppet|
...
puppet.options = '--hiera_config=/etc/hiera.yaml'
end
祝你好运!
答案 2 :(得分:1)
Puppet配置以 root 用户身份运行,而非 vagrant ,这就是为什么它没有注意到/ vagrant中的puppet.conf。
如果你在用户流浪者和root用户的vm中运行puppet config print
,你会看到每个用户的所有木偶配置设置并进行比较。