web-dev-qa-db-ja.com

puppetpluginsyncをフィルタリングする

同期されているプラ​​グインをフィルタリングする方法はありますか?フォージからダウンロードした新しいモジュールがいくつかあります(puppetboard、puppetdb、python)。これらのモジュールにはプラグインが含まれています。これらはパペットマスターでのみ必要であり、プラグインはどのクライアントでも必要ありません。

残念ながら、これらのモジュール内のfacterプラグインにより、Ruby/puppet/facterの最新バージョンにアップグレードできない一部の古いシステムでpuppetクライアントが失敗します。これらの古いシステムは、めちゃくちゃ苦痛な量のハッカーなしでは新しいOSリリースでは実行できないレガシーソフトウェアを実行しています。残りのプラグインとカスタムファクトはすべて完全に正常に機能します。したがって、プラグインの同期を維持したいのですが、古いシステムを壊しているこれらの事実を除外します。

誰かが部分的なプラグイン同期のための良い方法を思いついたことがありますか?検索で解決策が見つかりません。

3
Zoredache

プラグインをフィルタリングする方法はありません。

しかし、あなたがコメントで言うように、あなたはそれらが実行されているOSを処理するために事実/タイプを書く必要があります。タイプとプロバイダーの場合は、早期に終了します。
confineを使用できるファクトの場合: http://docs.puppetlabs.com/guides/custom_facts.html#confining-facts

2
Steven

Puppet自体は、同期するプラグインのリストのフィルタリングをサポートしていません。

ただし、 pluginsync_filter CERNからのパッチ

その後、Hieraを介して次のようなモジュールをホワイトリストに登録できます。

pluginsync_filter_enable: true
pluginsync_filter:
   - whitelisted
   - module
   - names

注:このパッチはおそらく公的にサポートされていないため、使用する場合はご自身で行ってください。

1
ThiefMaster