第11章 OSTree コンテンツの管理

OSTree は、起動可能で変更されない、バージョン付きファイルシステムツリーを管理するツールです。好みのビルドシステムを使用してコンテンツをビルドサーバー上にあるこのツリー内に配置し、OSTree リポジトリーを静的 HTTP にエクスポートできます。Red Hat Enterprise Linux Atomic Server は、RPM ファイルから作成された OSTree コンテンツを使って、オペレーティングシステムを最新の状態に保ちます。

Red Hat Satellite 6 は、OSTree リポジトリーと OSTree ブランチを同期し、リポジトリーからブランチを管理するツールを提供します。

11.1. Satellite Server 上での OSTree 管理の設定

デフォルトでは Satellite Server には OSTree 管理ツールは含まれていません。このため、satellite-installer を実行して必要なパッケージをインストールし、ツールを設定する必要があります。

Satellite Server に root ユーザーとしてログインし、以下のコマンドを実行します。

# satellite-installer --katello-enable-ostree=true

インストーラーが必要なパッケージ (ostreepulp-ostree-plugins、および tfm-rubygem-katello_ostree) をダウンロードし、Satellite サーバーが OSTree 管理ツールを使用するように設定されます。

11.2. 同期する Red Hat OSTree コンテンツの選択

Red Hat の CDN で OSTree コンテンツを選択して同期します。

Web UI をご利用の場合

コンテンツ > Red Hat リポジトリー に移動します。これにより、さまざまなコンテンツタイプのタブのセットが表示されます。OSTree タブを選択し、使用する OSTree セットまでスクロールします。この例では、Red Hat Enterprise Linux Atomic Host 製品グループから Red Hat Enterprise Linux Atomic Host Trees をインポートします。有効なリポジトリーがあることを確認してください。

コンテンツ > 製品 に移動し、Red Hat Enterprise Linux Atomic Host をクリックします。この時点でこの製品には Red Hat Enterprise Linux Atomic Host Trees のブランチセットが含まれています。このリポジトリーを選択し、同期開始 をクリックします。

注記

Web UI でも同期の進捗状況を確認することができます。コンテンツ > 同期の状態 に移動して、製品/リポジトリーのツリーを展開します(または すべて展開 をクリックします)。

数分後には、Satellite Server が rhel7 リポジトリーに関連する全イメージのインポートを完了します。

CLI をご利用の場合

Red Hat Enterprise Linux Server 製品の ostree リポジトリーを検索します。

# hammer repository-set list \
--product "Red Hat Enterprise Linux Atomic Host" \
--organization "ACME" | grep "ostree"

Red Hat Enterprise Linux Atomic Host 向けの ostree リポジトリーを有効にします。この例では、このリポジトリーの ID は 3822 になります。

# hammer repository-set enable \
--product "Red Hat Enterprise Linux Atomic Host" \
--name "Red Hat Enterprise Linux Atomic Host (Trees)" \
--organization "ACME"

自分の製品内でリポジトリーを検索し、これと同期させます。この例では、リポジトリーのこのバージョンの ID は 5 です。

# hammer repository list \
--product "Red Hat Enterprise Linux Atomic Host" \
--organization "ACME"
# hammer repository synchronize \
--name "Red Hat Enterprise Linux Atomic Host Trees" \
--product "Red Hat Enterprise Linux Atomic Host" \
--organization "ACME"

11.3. カスタム OSTree コンテンツのインポート

Red Hat の CDN から OSTree コンテンツをインポートするほかに、Red Hat Satellite 6 は他のソースからコンテンツをインポートすることもできます。これには、公開済みの HTTP の場所が必要になります。

Web UI をご利用の場合

コンテンツ > 製品 に移動し、新製品 をクリックします。新しい製品のフォームが表示されます。以下の詳細情報を入力します。

  • 名前 - 製品の簡単な名前。OSTree Content と入力します。
  • ラベル - 製品の内部 ID。Red Hat Satellite 6 では、名前 に入力した内容に基づいてこのフィールドに値が自動的に入力されます。
  • GPG キー - 製品全体の GPG キー。これは空白にします。
  • 同期プラン - 製品の同期計画。これは Example Plan に割り当てることができます。
  • 説明 - 製品の簡単な説明。OSTree Content と入力します。

保存 をクリックします。

Fedora 向けカスタム製品を作成したら、製品のリポジトリー画面が表示されます。リポジトリーの作成 をクリックし、新しいリポジトリー用のフォームを表示します。以下の詳細情報を入力します。

  • 名前 - リポジトリーの簡単な名前。Custom OSTree と入力します。
  • ラベル - リポジトリーの内部 ID。Red Hat Satellite 6 では、名前 に入力した内容に基づいてこのフィールドに値が自動的に入力されます。
  • タイプ - リポジトリーのタイプ。ostree を選択すると URL フィールドが表示されます。
  • URL - ソースとして使用するレジストリーの URL。http://www.example.com/rpm-ostree/ と入力します。

保存 をクリックすると、新規リポジトリーが記載された製品のリポジトリー画面に戻ります。同期開始 をクリックして同期プロセスを開始します。数分すると、Satellite Server が同期を完了します。

注記

Web UI でも同期の進捗状況を確認することができます。コンテンツ > 同期の状態 に移動して、製品/リポジトリーのツリーを展開します(または すべて展開 をクリックします)。

CLI をご利用の場合

カスタムの OSTree Content 製品を作成します。

# hammer product create \
--name "OSTree Content" \
--sync-plan "Example Plan" \
--description "OSTree Content" \
--organization "ACME"

OSTree 用のリポジトリーを作成します。

# hammer repository create \
--name "Custom OSTree" \
--content-type "ostree" \
--url "http://www.example.com/rpm-ostree/" \
--product "OSTree Content" \
--organization "ACME"

次にリポジトリーを同期します。

# hammer repository synchronize \
--name "Custom OStree" \
--product "OSTree Content" \
--organization "ACME"

これで OSTree ブランチが同期されました。

11.4. コンテンツビューによる OSTree コンテンツの管理

コンテンツビューを使用して、アプリケーションライフサイクルにわたって OSTree ブランチを管理します。このプロセスでは、RPM および Puppet モジュールが使用するものと同じ公開とプロモーションのメソッドを使用します。

Web UI をご利用の場合

コンテンツ > コンテンツビュー に移動し、新規ビューの作成 をクリックします。ビューの詳細 のフォームが表示されます。以下の情報を入力します。

  • 名前 - ビューの簡単な名前。OSTree と入力します。
  • ラベル - ビューの内部 ID。Red Hat Satellite 6 では、名前 に入力した内容に基づいてこのフィールドに値が自動的に入力されます。
  • 説明 - ビューの簡単な説明。OSTree branches for Red Hat Enterprise Atomic Host と入力します。
  • 複合ビュー - 複合コンテンツビューを使用するかどうかを定義します。チェックを外しておきます。

保存 をクリックします。

これで新規コンテンツビューエントリーが作成されます。OSTree コンテンツ のサブタブに移動し、追加 をクリックします。 Red Hat Enterprise Linux Atomic Host Trees 用の OSTree リポジトリーを選択します。リポジトリーの追加 をクリックします。これでこのリポジトリーから OSTree コンテンツがコンテンツビューに追加されます。

これでコンテンツビューを公開する準備ができました。バージョン に移動し、新規バージョンの公開 をクリックします。Satellite Server が新規バージョン (バージョン 1) についての詳細を提供し、説明 にこのバージョンについての説明が入力できます。ここには、新規コンテンツビューの変更を記録しておくことができます。Initial content view for our OSTree と入力し、保存 をクリックします。

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

プロモート をクリックして、アプリケーションライフサイクルの環境にこのコンテンツビューをプロモートすることもできます。

CLI をご利用の場合

リポジトリー ID の一覧を取得します。

# hammer repository list --organization "ACME"

この例では、OSTree のリポジトリーは ID に 5 を使用します。コンテンツビューを作成して、リポジトリーを追加します。

# hammer content-view create \
--name "OSTree" \
--description "OSTree for Red Hat Enterprise Linux Atomic Host" \
--repository-ids 5 \
--organization "ACME"

ビューを公開します。

# hammer content-view publish \
--name "OSTree" \
--description "Initial content view for our OSTree" \
--organization "ACME"

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

11.5. 章の概要

本章では、Red Hat およびカスタムソースから OSTree コンテンツをインポートして同期する方法やそのコンテンツをアプリケーションライフサイクルにわたって管理する方法など、Red Hat Satellite 6 における OSTreeコンテンツの基本的な管理方法について説明しました。

次章では、ISO ファイルの管理方法を説明します。