2013-02-01 28 views
8

恐らくここで何か非常に愚かなことをやっているかもしれませんが、これを引き起こしている可能性のある文書は見つかりません。パペット重複宣言:クラス[Mongodb]は既に宣言されています。再宣言できません

パペットを使用してバゲントVMを設定していますが、mongodbモジュール内の特定の設定を上書きしようとしています。

私が知っている限り、README.md構文はそのrepoで間違っています(これも試しましたが)。

私のマニフェスト:vagrant upを実行している場合

include mongodb 

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

私は次のエラーを取得する:

Duplicate declaration: Class[Mongodb] is already declared; cannot redeclare at /tmp/vagrant-puppet/manifests/mongodb.pp:5 on node www 

私は設定のオーバーライドを削除した場合、それは完璧に動作しますが、それはないない理由はありません。

答えて

9

これを達成するために2つの表記法を使用していますが、2番目の表記法でのみパラメータを使用できます。要するに、あなたはそれを二度宣言しています。

だから、 'include mongodb'を失うだけでいいですね。

さらに詳しい情報:http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#declaring-a-class-with-include

+0

ありがとうございます!それについて最悪の部分は、私はこの質問を書いたときにそのページを開いていたことです。それは朝に1時にこのことをするように教えてくれるでしょう。再度、感謝します –

1

はい、ただ単にinclude mongodb行を削除します。それでも問題はありませんが、class { 'mongodb': ... }が残っていることを確認してください。それ以外の場合は、include mongodb

関連する問題