我有一个绝对的噩梦让Puppet加载一组将在多个环境之间共享的模块。
puppet / environments / development / modules中的模块加载得很好但是没有找到puppet / modules中的依赖项。
我项目的文件夹结构是:
该项目在bitbucket: https://bitbucket.org/andrew_hancox/vagrantmoodle
答案 0 :(得分:1)
我通常用来管理模块依赖项的是拥有一个直接安装模块的shell脚本,这样就可以下载必要的依赖项并推送到正确的位置。
我将在我的Vagrantfile
中index col1 col2
0 AA 24
1 AB 26
2 AC 14
3 AD 15
脚本shell类似于
node_config.vm.provision "shell", path: "puppet/script/install-puppet-modules-app.sh"
node_config.vm.provision :puppet do |puppet|
puppet.environment = "production"
puppet.environment_path = "puppet/environments"
puppet.manifests_path = "puppet/environments/production/manifests"
puppet.manifest_file = "base-app.pp"
#puppet.options = "--verbose --trace"
end
这里你将拥有你的apache,mysql模块等
#!/bin/bash
puppet module install puppet-nginx --version 0.4.0
文件将找到已安装模块的默认位置
environment.conf
答案 1 :(得分:0)
感谢@ michael-mulqueen
让整个事情正常运转他修复它的方法是在vagrant文件中设置模块路径:
puppet.module_path = ["puppet/modules", "puppet/environments/development/modules"]
您可以在问题中引用的仓库中看到这一点。