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

Red Hat Satellite 6 では、コンテンツビューを使用して リポジトリーからカスタマイズリポジトリーを作成します。作成するには、使用するリポジトリーを定義し、特定のフィルターをコンテンツに適用します。このフィルターには、パッケージフィルター、パッケージグループフィルター、エラータフィルター、およびモジュールストリームフィルターが含まれます。コンテンツビューを使用して、特定の環境が使用するソフトウェアのバージョンを定義できます。たとえば、実稼働 環境では古いバージョンのパッケージを含むコンテンツビューを使用し、開発 環境では新しいバージョンのパッケージを含むコンテンツビューを使用するなど、バージョンを定義できます。

コンテンツビューは各環境でリポジトリーセットを作成し、Satellite Server で保存して管理します。アプリケーションライフサイクルの次の環境にコンテンツビューをプロモートすると、それに対応する Satellite Server のリポジトリーがパッケージを更新して公開します。

 開発テスト実稼働

コンテンツビューのバージョンとコンテンツ

バージョン 2 - example_software-1.1-0.noarch.rpm

バージョン 1 - example_software-1.0-0.noarch.rpm

バージョン 1 - example_software-1.0-0.noarch.rpm

テストと実稼働のリポジトリーには example_software-1.0-0.noarch.rpm パッケージが含まれています。コンテンツビューのバージョン 2 を開発環境からテスト環境にプロモートすると、テスト環境のリポジトリーが再作成され、example_software-1.1-0.noarch.rpm パッケージが含まれるようになります。

 開発テスト実稼働

コンテンツビューのバージョンとコンテンツ

バージョン 2 - example_software-1.1-0.noarch.rpm

バージョン 2 - example_software-1.1-0.noarch.rpm

バージョン 1 - example_software-1.0-0.noarch.rpm

こうすることで、システムは特定の環境専用となり、その環境が新しいコンテンツビューを使用する際には更新を受け取ることができます。

スナップショットのフィルタリングと作成に使用するコンテンツビューを作成する一般的なワークフローは、以下の通りです。

  1. コンテンツビューを作成します。
  2. コンテンツビューに使用するリポジトリーと Puppet モジュールを追加します。
  3. 任意で、コンテンツビューのコンテンツを絞り込むフィルターを 1 つまたは複数作成します。
  4. オプションで、コンテンツビューのパッケージの依存関係を解決します。
  5. コンテンツビューを公開します。
  6. 任意で、コンテンツビューを別の環境にプロモートします。
  7. コンテンツホストをコンテンツビューにアタッチします。

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

ホストを関連付けるコンテンツビューは 1 つだけにすることができます。複数のコンテンツビューにホストを関連付けるには、複合コンテンツビューを作成します。詳しい情報は 「複合コンテンツビューの作成」 を参照してください。

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

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

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

以下の手順を使用してシンプルなコンテンツビューを作成します。

前提条件

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

手順

コンテンツビューを作成するには、以下の手順を行います。

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

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

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

Hammer 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 がビューの新バージョンを作成し、ライブラリー環境に公開します。