第8章 コンテンツビューの管理
Red Hat Satellite 6 では、コンテンツビューを使用してリポジトリーからカスタマイズリポジトリーを作成します。これを実行するには、使用するリポジトリーを定義し、特定のフィルターをコンテンツに適用します。これらのフィルターには、パッケージフィルター、パッケージグループフィルター、およびエラータフィルターの両方が含まれます。コンテンツビューを使用して、特定の環境が使用するソフトウェアのバージョンを定義できます。たとえば、実稼働 環境では古いバージョンのパッケージを含むコンテンツビューを使用し、開発環境 では新しいバージョンのパッケージを含むコンテンツビューを使用する場合があります。
コンテンツビューは各環境にリポジトリーセットを作成し、Satellite Server が保存し、管理します。アプリケーションライフサイクルの次の環境にコンテンツビューをプロモートすると、対象の Satellite Server のリポジトリーがパッケージを更新し、公開します。
開発 | テスト | 実稼働 | |
---|---|---|---|
コンテンツビューのバージョンとコンテンツ | Version 2 - example_software-1.1-0.noarch.rpm | Version 1 - example_software-1.0-0.noarch.rpm | Version 1 - example_software-1.0-0.noarch.rpm |
テストと実稼働のリポジトリーには example_software-1.0-0.noarch.rpm
パッケージが含まれています。コンテンツビューのバージョン 2 を開発環境からテストにプロモートすると、テスト用のリポジトリーを再生成し、example_software-1.1-0.noarch.rpm
パッケージが含まれるようになります。
開発 | テスト | 実稼働 | |
---|---|---|---|
コンテンツビューのバージョンとコンテンツ | Version 2 - example_software-1.1-0.noarch.rpm | Version 2 - example_software-1.1-0.noarch.rpm | Version 1 - example_software-1.0-0.noarch.rpm |
これにより、システムが特定の環境に指定され、その環境が新しいバージョンのコンテンツビューを使用すると更新を受け取ることができます。
スナップショットのフィルタリングおよび作成を行うためのコンテンツビューを作成するための一般的なワークフローは以下のとおりです。
- コンテンツビューを作成します。
- コンテンツビューに使用するリポジトリーと Puppet モジュールを追加します。
- 任意で、コンテンツビューのコンテンツを絞り込むフィルターを 1 つまたは複数作成します。
- 必要に応じて、コンテンツビューのパッケージの依存関係を解決します。
- コンテンツビューを公開します。
- 必要に応じて、コンテンツビューを別の環境にプロモートします。
- コンテンツホストをコンテンツビューにアタッチします。
リポジトリーがコンテンツビューに関連付けられていない場合、/etc/yum.repos.d/redhat.repo
ファイルは空となり、登録済みのシステムで更新を受け取ることができません。
ホストを関連付けるコンテンツビューは 1 つだけです。複数のコンテンツビューにホストを関連付けるには、複合コンテンツビューを作成します。詳しくは、「複合コンテンツビューの作成」をご覧ください。
パッケージの依存関係の解決
パッケージの依存関係は、パッケージ管理を複雑化しています。コンテンツビューでパッケージの依存関係を管理する方法は、「パッケージの依存関係の解決」 を参照してください。
8.1. コンテンツビューの作成
以下の手順を使用してシンプルなコンテンツビューを作成します。
前提条件
コンテンツビューごとに、コンテンツビューでパッケージの依存関係を解決するかどうかを指定できますが、デフォルトの Satellite 設定を変更して、すべてのコンテンツビューでパッケージの解決を有効化または無効化できます。詳しくは、「パッケージの依存関係の解決」をご覧ください。
手順
コンテンツビューを作成するには、以下の手順を行います。
- Satellite Web UI で コンテンツ > コンテンツビューに移動して、新規ビューの作成をクリックします。
- 名前 フィールドに、ビューの名前を入力します。Satellite では、入力した名前から ラベル フィールドに自動的に入力されます。
- 説明 フィールドに、ビューの説明を入力します。
- オプション: このコンテンツビューを公開するたびに依存関係を自動的に解決する場合は、Solve Dependencies チェックボックスを選択します。依存関係の解決により公開時間が遅くなり、使用するコンテンツビューフィルターが無視される可能性があります。また、エラータの依存関係を解決する際に、エラーが発生する可能性があります。
- 保存 をクリックして、コンテンツビューを作成します。
- リポジトリーの選択 エリアで、コンテンツビューに追加するリポジトリーを選択し、リポジトリーの追加 をクリックします。
- 新規バージョンの公開 をクリックし、説明 フィールドに、変更をログに記録するバージョンに関する情報を入力します。
- 保存 をクリックします。
- オプション: Yum リポジトリーでメタデータを再生成するには、コンテンツビューバージョンの アクション リストから、リポジトリーメタデータの再生成 を選択します。
コンテンツビューウィンドウで、コンテンツビューを表示できます。コンテンツビューに関する詳細情報を表示するには、コンテンツビュー名をクリックします。
コンテンツビューにホストを登録するには、ホストの管理ガイドのホストの登録を参照してください。
Hammer CLI を使用したコンテンツビューの作成
リポジトリー ID のリストを取得します。
# hammer repository list --organization "My_Organization"
コンテンツビューを作成し、リポジトリーを追加します。
# hammer content-view create \ --name "Example_Content_View" \ --description "Example Content View" \ --repository-ids 1,2 \ --organization "My_Organization"
--repository-ids
オプションを使用すると、hammer repository list
コマンドの出力で ID を確認できます。ビューを公開します。
# hammer content-view publish \ --name "Example_Content_View" \ --description "Example Content View" \ --organization "My_Organization"
オプション: 既存のコンテンツビューにリポジトリーを追加するには、以下のコマンドを入力します。
# hammer content-view add-repository \ --name "Example_Content_View" \ --organization "My_Organization" \ --repository-id repository_ID
Satellite Server がビューの新バージョンを作成し、ライブラリー環境に公開します。