第7章 コンテンツビューの管理

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

これにより、システムが特定の環境に指定され、その環境が新しいバージョンのコンテンツビューを使用すると更新を受け取ることができます。

スナップショットのフィルタリングおよび作成を行うためのコンテンツビューを作成するための一般的なワークフローは以下のとおりです。

  1. コンテンツビューを作成します。
  2. コンテンツビューに必要なリポジトリーを 1 つ以上追加します。
  3. 必要に応じて、1 つ以上のフィルターを作成して、コンテンツビューのコンテンツを絞り込みます。
  4. 必要に応じて、コンテンツビューのパッケージの依存関係を解決します。
  5. コンテンツビューを公開します。
  6. 必要に応じて、コンテンツビューを別の環境にプロモートします。
  7. コンテンツホストをコンテンツビューにアタッチします。

リポジトリーがコンテンツビューに関連付けられていない場合、/etc/yum.repos.d/redhat.repo ファイルは空となり、登録済みのシステムで更新を受け取ることができません。

ホストを関連付けるコンテンツビューは 1 つだけです。複数のコンテンツビューにホストを関連付けるには、複合コンテンツビューを作成します。詳しくは、「複合コンテンツビューの作成」をご覧ください。

パッケージの依存関係の解決

パッケージの依存関係は、パッケージ管理を複雑化しています。コンテンツビューでパッケージの依存関係を管理する方法は、「パッケージの依存関係の解決」 を参照してください。

7.1. コンテンツビューの作成

以下の手順を使用してシンプルなコンテンツビューを作成します。Web UI の代わりに CLI を使用する場合は、CLI 手順 を参照してください。

前提条件

コンテンツビューごとに、コンテンツビューでパッケージの依存関係を解決するかどうかを指定できますが、デフォルトの Satellite 設定を変更して、すべてのコンテンツビューでパッケージの解決を有効化または無効化できます。詳しくは、「パッケージの依存関係の解決」をご覧ください。

手順

  1. Satellite Web UI で コンテンツ > コンテンツビュー に移動して、新規ビューの作成 をクリックします。
  2. 名前 フィールドに、ビューの名前を入力します。Satellite では、入力した名前から ラベル フィールドに自動的に入力されます。
  3. 説明 フィールドに、ビューの説明を入力します。
  4. オプション: このコンテンツビューを公開するたびに依存関係を自動的に解決する場合は、Solve Dependencies チェックボックスを選択します。依存関係の解決により公開時間が遅くなり、使用するコンテンツビューフィルターが無視される可能性があります。また、エラータの依存関係を解決する際に、エラーが発生する可能性があります。
  5. 保存 をクリックして、コンテンツビューを作成します。
  6. リポジトリーの選択 エリアで、コンテンツビューに追加するリポジトリーを選択し、リポジトリーの追加 をクリックします。
  7. 新規バージョンの公開 をクリックし、説明 フィールドに、変更をログに記録するバージョンに関する情報を入力します。
  8. 保存 をクリックします。
  9. オプション: Yum リポジトリーでメタデータを再生成するには、コンテンツビューバージョンの アクション リストから、リポジトリーメタデータの再生成 を選択します。

コンテンツビューウィンドウで、コンテンツビューを表示できます。コンテンツビューに関する詳細情報を表示するには、コンテンツビュー名をクリックします。

コンテンツビューにホストを登録するには、ホストの管理ガイドのホストの登録を参照してください。

CLI 手順

  1. リポジトリー ID のリストを取得します。

    # hammer repository list --organization "My_Organization"
  2. コンテンツビューを作成し、リポジトリーを追加します。

    # 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 を確認できます。

  3. ビューを公開します。

    # hammer content-view publish \
    --name "Example_Content_View" \
    --description "Example Content View" \
    --organization "My_Organization"
  4. オプション: 既存のコンテンツビューにリポジトリーを追加するには、以下のコマンドを入力します。

    # hammer content-view add-repository \
    --name "Example_Content_View" \
    --organization "My_Organization" \
    --repository-id repository_ID

Satellite Server は、新しいバージョンのビューを作成し、ライブラリー環境に公開します。