4.2.3. カスタムファクトのレポート
管理ホストからのカスタム情報の取得は、Red Hat Satellite 6 で完全にサポートされています。このセクションでは、Puppet Forge から取得した Puppet モジュールを使用していますが、原則は Puppet モジュールの他のソースに対して同等に適用されます。
標準の Facter インターフェースを介して報告されるファクトの数は拡張できます。たとえば、モジュールの変数として使用するファクトを収集します。インストールされたパッケージを説明するファクトが利用可能な場合は、このデータを検索し、情報に基づいて設定管理の決定を行うことができるようになります。
ホストにインストールされたパッケージについてのレポートを取得するプロセスは以下のようになります。
-
マニフェスト
pkginventory
は Puppet Forge から取得され、ベースシステムに保存されます。 - Puppet モジュールはコンテンツビューに追加され、これはシステムにプロモートされてからそのシステムにデプロイされます。
システムのファクトは、パッケージ名を使用してクエリーされます。この例では、hostname という名前のホストで、認証情報 username と password を持つSatelliteユーザーを使用している場合、次のAPIクエリは検索文字列 "bash"に一致するファクトを返します。
curl -u username:password -X GET http://localhost/api/hosts/:hostname/facts?search=bash {"hostname":{"pkg_bash":"4.2.45-5.el7_0.4"}}
検索は、パッケージバージョンを返します。その後、外部データベースの設定に使用していました。
4.2.3.1. pkginventory Puppet モジュールの追加
pkginventory
Puppet モジュールを RRed Hat Satellite Server アプリケーションに追加するには、https://forge.puppetlabs.com/ody/pkginventory から Satellite Server アプリケーションがインストールされているベースシステムにモジュールをダウンロードし、以下の手順に従います。
Puppet モジュールは通常、Puppet Modules という名前のカスタムリポジトリーに保存されます。以下の手順は、その名前のカスタムリポジトリーを作成していることを前提としています。Puppet モジュールのカスタムリポジトリーをまだ作成していない場合は、『 クイックスタートガイド』 の「カスタム製品の作成 」を参照してください。
Puppet モジュールのリポジトリーへのにアップロード
-
ベースシステムに Puppet モジュールをダウンロードします。ダウンロードしたモジュールの拡張子は
.tar.gz
になります。 - Content > Products をクリックしてから、Puppet モジュールリポジトリーに関連付けられた Name フィールドで製品名をクリックします。たとえば、Custom Products です。
- Repositories タブで、変更する Puppet モジュールリポジトリーを選択します。たとえば、Puppet Modules などです。
- Upload Puppet Module セクションで Browse をクリックし、ダウンロードしたモジュールに移動します。
- アップロード をクリックします。
Puppet モジュールをクライアントに配布するには、モジュールはコンテンツビューに適用して公開する必要があります。以下の手順に従って、コンテンツビューにモジュールを追加します。
コンテンツビューへのモジュールの追加
- Content > Content Views をクリックして、Name メニューからコンテンツビューを選択します。
- Puppet モジュール タブで Add New Module をクリックします。インストールされたモジュールの一覧が表示されます。
- Actions コラムから Select a Version をクリックし、追加するモジュールを選択します。利用可能なバージョンの表が表示されます。
- 追加するモジュールのバージョンの横の バージョンの選択 をクリックします。
- Publish New Version をクリックして、新しいコンテンツビューを作成します。
- 必要に応じて説明を追加し、Save をクリックします。