facter: modulspezifische benutzerdefinierte Fakten einrichten?

1554
André Fernandes

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 module1ausgeführt custom_fact_1und Hosts module2würden nur ausgeführt custom_fact_2.

Gemäß den Facter / Puppet-Dokumenten werden die benutzerdefinierten Fakten in einem <module-name>/lib/facterVerzeichnis 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 confineAnweisungen 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.

2

3 Antworten auf die Frage

-1
Barry

Facter ist dafür nicht geeignet. Es wäre viel einfacher, benutzerdefinierte Funktionen pro Modul oder einen ENC wie hiera zu verwenden.

-1
Rasputnik

Das ist erwartetes Verhalten ja, wenn Pluginsync aktiviert ist, endet lib / facter aus allen Modulen auf allen Knoten.

-1
liquidki

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!