Eine Alternative zur Benachrichtigung ist das Abonnieren von:
file { "/etc/sshd_config":
source => "....",
}
service { sshd:
ensure => running,
subscribe => File["/etc/sshd_config"],
}
Der Unterschied besteht darin, dass die Beziehung vom anderen Ende her beschrieben wird. Beispielsweise können Sie Apache veranlassen, /etc/apache/httpd.conf zu abonnieren, aber Sie möchten, dass eine vhost-Datei Apache benachrichtigt, da Ihre Apache-Klasse nicht über jeden vhost informiert ist, den Sie haben.
Eine ähnliche Situation mit zwei Enden gilt für require und before. Es ist nur eine Frage, die in der jeweiligen Situation sinnvoller ist.
Wie Chad bereits erwähnt hat, müssen Sie, wenn Marionetten ständig versuchen, Ihren Dienst zu starten, einen Musterparameter hinzufügen, der ein regulärer Ausdruck für die Liste der Prozesse ist. Standardmäßig stoppt und startet Puppet einen Dienst neu. Wenn Sie "hasrestart => true" hinzufügen, wird der Dienst mit dem im Parameter "restart" angegebenen Befehl neu gestartet.
(Ich weiß, dass dies eine super alte Frage ist, aber ich dachte nur, ich würde meine zwei Cent mit einem (meiner Meinung nach) viel einfacheren Weg einsetzen)
Sie können auch die Pfeilnotation verwenden:
oder
quelle
Dies funktioniert für Solaris 10 :)
quelle
Es gibt mehrere äquivalente Notationen:
Benachrichtigen :
Abonnieren :
Pfeilnotation :
Verkettung von Deklarationen
Wenn Sie
reload
statt auslösen möchtenrestart
, passen Sie die Service-Deklaration an:quelle