Facter ist dafür nicht geeignet. Es wäre viel einfacher, benutzerdefinierte Funktionen pro Modul oder einen ENC wie hiera zu verwenden.
facter: modulspezifische benutzerdefinierte Fakten einrichten?
Ich passe eine vorhandene Marionetteninstallation (mit Facter) an und ich glaube, ich bin auf ein Problem gestoßen, das den Umfang der benutzerdefinierten Fakten versteht.
Ich habe mehrere Module, die ausschließlich unterschiedlichen Klassen von Hosts innerhalb einer node.pp-Datei zugeordnet sind. Was ich erreichen möchte, wäre, die benutzerdefinierten Fakten durch das Modul zu beschränken. Beispielsweise würden Hosts in module1
ausgeführt custom_fact_1
und Hosts module2
würden nur ausgeführt custom_fact_2
.
Gemäß den Facter / Puppet-Dokumenten werden die benutzerdefinierten Fakten in einem <module-name>/lib/facter
Verzeichnis abgelegt und an dieses Modul gebunden.
Ich habe bereits einige benutzerdefinierte Fakten zusammengestellt, indem Sie die Ruby-Skripts zum Verzeichnis eines einzelnen Moduls hinzugefügt haben lib/facter
, aber seltsamerweise beschränken sie sich nicht auf die Hosts, denen das Modul zugewiesen ist. Was passiert, ist, dass alle benutzerdefinierten Fakten für alle Hosts ausgeführt werden (auch für diejenigen, die keine Beziehung zu diesem Modul haben). Dies ist nicht genau das, was ich beabsichtigt habe.
Habe ich die Dokumentation falsch verstanden? Ist diese Art der Fakt-Modul-Zuordnung möglich?
Hinweis : Ich habe ein ähnliches Verhalten durch die Verwendung von confine
Anweisungen in den benutzerdefinierten Fakten-Skripts erreicht, dies widerspricht jedoch dem beabsichtigten Zweck, da ich die benutzerdefinierten Fakten an die Module selbst binden möchte und nicht die Zuordnung in den Skripts.
3 Antworten auf die Frage
Das ist erwartetes Verhalten ja, wenn Pluginsync aktiviert ist, endet lib / facter aus allen Modulen auf allen Knoten.
Um Ihre Frage so direkt wie möglich zu beantworten, verwenden die meisten Setups Gruppen von Moden, um Systeme zu kategorisieren. Oft sind diese Gruppen den Modulen sehr ähnlich, und Sie können diese Gruppentatsachen verwenden, um die Fakten auf diese Systeme zu beschränken.
Was versuchen Sie mit diesen Fakten zu tun? Wie bereits erwähnt, können Typen oder Funktionen Ihnen auch das geben, was Sie brauchen, ohne überall verfügbar zu sein. Weitere Informationen darüber, was Sie tun, wären hilfreich!
Verwandte Probleme
-
2
Puppet Enterprise versus kostenlose Version, was ist der Unterschied?
-
2
Warum installiert Puppet ein Paket weiter, auch wenn es bereits installiert ist?
-
1
Windows-Batch-Skript erhält Umgebungsvariablenänderungen
-
2
Installieren Sie ein Quellpaket mit Marionette
-
1
Das Puppet stdlib-Modul file_line hat keine Auswirkungen
-
1
Fakter zeigt keine Informationen an
-
1
Ist es sicher möglich, den Marionettenbenutzer nach der Deinstallation von Marionette und Marionette...
-
2
Verwenden Sie sudo inkonjunction mit dem ssh-Schlüssel des normalen Benutzers
-
1
Marionette "Verbindung abgelehnt"
-
2
Wie deinstalliere ich Puppet von Mac OS X?