2013-02-01 9 views
8

Forse fare qualcosa di estremamente stupido qui ma non riesco a trovare alcuna documentazione su cosa potrebbe causare questo.Dichiarazione duplicati puppet: Classe [Mongodb] già dichiarata; non posso ridichiarare

Impostazione di una VM Vagrant utilizzando Puppet e sto tentando di ignorare un'impostazione specifica all'interno del modulo mongodb.

Per quanto ne so, la sintassi README.md non è corretta in quel repository (anche se ho provato anche quello).

mio manifesto:

include mongodb 

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

Quando si esegue vagrant up ottengo il seguente errore:

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

Se rimuovo l'override di configurazione funziona perfettamente, ma non c'è alcun motivo per cui non è così.

risposta

9

Si stanno utilizzando due notazioni per ottenere lo stesso risultato, ma è possibile utilizzare solo i parametri con la seconda notazione. In breve, lo stai dichiarando due volte.

Quindi, basta perdere "include mongodb" e tu sei bravo.

Maggiori informazioni: http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#declaring-a-class-with-include

+0

Grazie !! La parte peggiore è che ho aperto quella pagina quando ho scritto questa domanda. Questo mi insegnerà a fare queste cose all'una del mattino. Grazie ancora –

1

Sì, appena sufficiente rimuovere include mongodb linea. Funzionerà, ma assicurati che class { 'mongodb': ... } rimarrà comunque. Altrimenti, usa include mongodb

Problemi correlati