puppet 重复声明: Class[Mongodb] is already declared; cannot redeclare

标签 puppet vagrant

可能在这里做了一些非常愚蠢的事情,但我找不到任何可能导致这种情况的文档。

使用 Puppet 设置 Vagrant VM,我试图覆盖 mongodb 中的特定设置模块。

据我所知,该仓库中的 README.md 语法不正确(尽管我也尝试过)。

我的 list :

include mongodb

class { 'mongodb' :
port => '1111';
}

运行时vagrant up我收到以下错误:
Duplicate declaration: Class[Mongodb] is already declared; cannot redeclare at /tmp/vagrant-puppet/manifests/mongodb.pp:5 on node www

如果我删除配置覆盖,它会完美运行,但没有理由不这样做。

最佳答案

您使用两种表示法来实现相同的目的,但您只能使用带有第二种表示法的参数。简而言之,您要声明它两次。

所以,只要失去'include mongodb',你就很好了。

更多信息:http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#declaring-a-class-with-include

关于 puppet 重复声明: Class[Mongodb] is already declared; cannot redeclare,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637473/

相关文章:

linux - 如何为vagrant中尚不存在的用户挂载目录

ruby - Vagrant ssh 使用 -c 或 --COMMAND 导致 session 关闭

linux - 在将多行附加到 puppet 中的文件时需要一些帮助

windows - 无法从 Windows 10 上的主机访问 vagrant box

ruby-on-rails - 在运行 Recipe 的其余部分之前使用 Chef 设置 DNS?

powershell - 我可以通过powershell为tightVNC设置密码吗?

linux - 如何通过 Vagrant 启动虚拟机

windows - Puppet 检查 Windows 版本

virtualbox - Vagrant ,VirtualBox,Supervisord : When is synced folder mounted?

rspec - 如何覆盖 rspec-puppet 中的 hiera_data?