web-dev-qa-db-ja.com

Puppet-パッケージとバージョンのリストを取得する

1つ(またはすべて)のノードのカタログをコンパイルし、その特定のデータをどこかに保存するようにpuppetに指示することは可能ですか?

ノードごとに必要なすべてのパッケージとそのバージョンを取得することに特に関心がありますが、データを取得するための一般的なアプローチも適しています。

11
Michal Bryxí

[〜#〜]更新[〜#〜]

この元の答えは古くなっています。 Puppet 3.x用に更新されたコマンドは次のとおりです。

puppet resource package

Puppetによってインストールされているかどうかに関係なく、ノードにインストールされているすべてのパッケージとバージョンを探す場合は、次のコマンドが組み込まれており、任意のPuppetノードで実行できます。

ralsh package

これにより、データがPuppetマニフェスト形式でstdoutに出力されます。

Ralshは、instancesメソッドが実装されているリソースタイプ(ユーザー、グループなど)で機能します。

Puppetマニフェストで定義されているすべてのリソースのYAMLカタログを一元的に調査する場合、Puppetmasterはすでにこの情報を/var/lib/puppet/client_yaml/catalogにキャッシュしており、選択したYAMLパーサーで解析するだけです。ごく最近導入されたPuppet Inventory Serviceも、あなたにとって良い選択肢かもしれません。 0.25.xのような古いバージョンで実行している場合は、storeconfigsを使用できます。

13
jgoldschrafe

正直なところ、これはmcollectiveが実行するために構築されたものです。具体的には、mcollectiveのパッケージプロバイダー: http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/AgentPackage

これはパペットを完全にスキップし、パペットをインストールする必要さえありません。

0
Justin Ellison