Piszę niektóre moduły Lalki i posiada pakiet zdefiniowany w dwóch modułach stąd pojawia się następujący błąd:Lalka - sprawdź, czy pakiet jest już zdefiniowany?
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate definition: Package[gnome-session-fallback] is already defined in file /etc/puppet/modules/vnc4server/manifests/init.pp at line 3; cannot redefine at /etc/puppet/modules/vino/manifests/init.pp:7 on node l
Dlatego chcemy zapewnić, że pakiet nie został jeszcze zdefiniowany, ale następujące nie działa:
if ! defined ('gnome-session-fallback') {
package { 'gnome-session-fallback':
ensure => installed,
}
}
Czy ktoś może zaproponować, jak rozwiązać ten problem, i na szerszą skalę, jakie jest "właściwe" podejście, aby uniknąć takich konfliktów w modułach?
proszę pisać dokładnie, jak to nie zadziała. Czy otrzymujesz komunikat o błędzie, czy po prostu simplz nie robi tego, co powinien? Proszę również podać, której wersji Puppet używasz! – ppeterka
Komunikat o błędzie zamieszczony w drugim wierszu powyżej - testuję, czy jest on już zdefiniowany w innym module i test nie wydaje się wykrywać tego, a zatem próbuje go przedefiniować, a uruchomienie agenta nie powiedzie się (zobacz err). Wersja 2.7.11 –
Może jestem trochę nudny dzisiaj: więc otrzymasz błąd z 'if! zdefiniowany ... 'skrypt, prawda? – ppeterka