PuPHPet执行vagrant up报错:无效选项--manifestdir,求配置指导
解决PuPHPet + Puppet V5的
--manifestdir无效问题 我之前折腾PuPHPet的时候也碰到过这个坑,Puppet 5确实把manifest_dir这个选项砍掉了,必须切换到环境机制来配置。下面针对你的两个问题详细说:
1. 配置项在config.yaml中的添加位置
直接找到provision -> puppet这个节点,在里面新增environment和environments_path两个配置项就行。结合你现有的配置,修改后这部分应该是这样的:
provision: puppet: manifests_path: puphpet/puppet/manifests module_path: - puphpet/puppet/modules - puphpet/puppet/manifests # 新增的环境配置 environment: production environments_path: puphpet/puppet/environments options: - '--verbose' - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
environment:指定你要使用的环境名称,一般用production或者development,可以自己定义environments_path:指定环境文件夹的根路径,这个路径是相对于你的项目根目录(也就是Vagrantfile所在的位置)的相对路径
另外要注意:如果你的options里原来有--manifestdir相关参数,一定要删掉,你现在的配置里没有,所以不用额外操作。
2. 环境文件夹的放置路径
你需要在PuPHPet的目录结构里创建对应的环境文件夹,标准结构如下:
你的项目根目录/ └── puphpet/ └── puppet/ └── environments/ └── production/ # 这里的名称要和你上面配置的environment一致 ├── manifests/ # 放该环境的manifest文件,比如site.pp └── modules/ # 放该环境专属的模块(可选)
如果想复用你现有的manifest内容,直接把puphpet/puppet/manifests里的文件复制到environments/production/manifests里就行。原来的全局模块puphpet/puppet/modules依然会被Puppet加载,不需要移动,环境专属的模块可以放在对应环境的modules文件夹里。
修改完配置和文件夹结构后,重新运行vagrant up应该就能正常启动了。
内容的提问来源于stack exchange,提问作者Rooneyl
相关产品推荐
相关产品推荐

