puppetpluginsyncをフィルタリングする
同期されているプラグインをフィルタリングする方法はありますか?フォージからダウンロードした新しいモジュールがいくつかあります(puppetboard、puppetdb、python)。これらのモジュールにはプラグインが含まれています。これらはパペットマスターでのみ必要であり、プラグインはどのクライアントでも必要ありません。
残念ながら、これらのモジュール内のfacterプラグインにより、Ruby/puppet/facterの最新バージョンにアップグレードできない一部の古いシステムでpuppetクライアントが失敗します。これらの古いシステムは、めちゃくちゃ苦痛な量のハッカーなしでは新しいOSリリースでは実行できないレガシーソフトウェアを実行しています。残りのプラグインとカスタムファクトはすべて完全に正常に機能します。したがって、プラグインの同期を維持したいのですが、古いシステムを壊しているこれらの事実を除外します。
誰かが部分的なプラグイン同期のための良い方法を思いついたことがありますか?検索で解決策が見つかりません。
プラグインをフィルタリングする方法はありません。
しかし、あなたがコメントで言うように、あなたはそれらが実行されているOSを処理するために事実/タイプを書く必要があります。タイプとプロバイダーの場合は、早期に終了します。
confineを使用できるファクトの場合: http://docs.puppetlabs.com/guides/custom_facts.html#confining-facts
Puppet自体は、同期するプラグインのリストのフィルタリングをサポートしていません。
ただし、 pluginsync_filter
CERNからのパッチ 。
その後、Hieraを介して次のようなモジュールをホワイトリストに登録できます。
pluginsync_filter_enable: true
pluginsync_filter:
- whitelisted
- module
- names
注:このパッチはおそらく公的にサポートされていないため、使用する場合はご自身で行ってください。