第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 6.3 では、OSTree 管理ツールがデフォルトで有効になっています。必要に応じて、以下のコマンドを実行して、このツールが有効になっていることを確認します。

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

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 Satellite 6 では、Red Hat の CDN から OSTree コンテンツをインポートするほかに、他のソースからコンテンツをインポートすることもできます。これには、公開済みの 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 ファイルの管理方法を説明します。