所以我使用以下命令创建了一个 Vagrant 框:
vagrant package --base box_name_here --vagrantfile Vagrantfile --include manifests/
manifests/
是一个包含 puppet 清单的目录和一些子目录,其中包含在配置过程中使用的一些文件。 Puppet 在 Vagrantfile 中的调用方式如下:
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "web-dev.pp"
end
当我浏览 Vagrant 创建的打包 .box 存档时,我看到该文件夹位于box_name_here.box/includes/manifests
。然而,vagrant up
当我尝试运行它时,由于以下错误而死亡:
为 Puppet 指定的清单路径不存在:c:/vagrant/manifests
文件在其他地方吗?
我看到了这个帖子:https://github.com/mitchellh/vagrant/issues/344 https://github.com/mitchellh/vagrant/issues/344
但答案有点不透明;我不太知道如何将模块路径响应转换为我的清单路径问题。
我更改了 vagrantfile 以便该行读取
puppet.manifests_path = "./manifests"
...但这并没有解决问题。我仍然收到相同的错误消息。
经过一些实验,非常明显的答案是:
puppet.manifests_path = File.expand_path("../manifests", __FILE__)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)