2013-02-01 8 views
8

Prawdopodobnie robi coś bardzo głupiego tutaj, ale nie mogę znaleźć żadnej dokumentacji, co może być przyczyną tego.Deklaracja duplikatu lalki: klasa [Mongodb] jest już zadeklarowana; nie mogę redeclare

Konfigurowanie maszyny VM Vagrant przy użyciu Puppet i próbuję przesłonić określone ustawienie w module mongodb.

O ile mi wiadomo, składnia README.md jest niepoprawna w tym repo (chociaż ja też tego próbowałem).

Moja Oczywisty:

include mongodb 

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

Uruchamiając vagrant up otrzymuję następujący błąd:

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

Jeśli usunąć nadpisanie konfiguracji działa idealnie, ale nie ma powodu, dlaczego nie.

Odpowiedz

9

Używasz dwóch notacji do osiągnięcia tego samego, ale możesz używać tylko parametrów z drugą notacją. Krótko mówiąc, deklarujesz to dwa razy.

Więc, po prostu stracić "obejmują mongodb" i jesteś dobry.

Więcej informacji: http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#declaring-a-class-with-include

+0

Dzięki !! Najgorsze jest to, że otworzyłem tę stronę, gdy pisałem to pytanie. To nauczy mnie robienia tego o 1 rano. Dzięki jeszcze raz –

1

Tak, po prostu usunąć include mongodb linię. To zadziała, ale upewnij się, że class { 'mongodb': ... } pozostanie. W przeciwnym razie użyj include mongodb

Powiązane problemy