Sun N1 Service Provisioning System ユーザーズガイド (OS Provisioning Plug-In 3.0)

モジュールのインタフェース

ツールキットは、ターゲットサーバーと JumpStart サーバーの両方において、JumpStart プロセスのライフサイクル中にモジュール内で特定のインタフェースを呼び出します。各インタフェースは、環境変数を通じて供給されるターゲットサーバーのコンテキストを持つ、実行可能なシェルスクリプト (または最悪の場合バイナリ) であると想定されています。

copy_media インタフェース

呼び出される場所

JumpStart サーバー

引数
<patches|packages> version srcdir destdir arch
必須/オプション

必須

copy_media スクリプトが呼び出されるのは、ユーザーが copy_product_media または copy_product_patches スクリプトを呼び出してこのモジュールのメディアを管理する場合です。このスクリプトはアプリケーションが配信される形式を理解し、渡されたソースメディアの位置から、サーバー上の適切なメディア位置に対して、コピーを実行する必要があります。この機能を使用することで、メインツールキットを各メディアタイプに対して更新する必要なく、通常とは異なる形式のメディア (tar.gz、zip、bz2 など) を処理できるようになります。また、モジュール開発者が既知の状態でサーバーにメディアを配置できるようにもなります。たとえば、ディレクトリツリー全体、または Solaris パッケージのまとまりのみを参照可能にする必要が製品で生じる場合があります。

make_template インタフェース

呼び出される場所

JumpStart サーバー

引数

なし

必須/オプション

オプション

管理者がサーバービルドの新しい定義を作成する場合、管理者は /opt/SUNWjet/bin に用意されている最上位レベルコマンド make_template を実行します。この最上位レベル make_template スクリプトは基本ターゲットサーバー構成情報を設定し、存在する場合は各モジュール固有の make_template スクリプトを呼び出します。モジュール固有の make_template スクリプトは、テンプレート上で追加作業を実行できます。たとえば、ユーザーが編集するクライアントごとのデフォルトの生成などです。

make_client インタフェース

呼び出される場所

JumpStart サーバー

引数

なし

必須/オプション

オプション

管理者がインストール用にターゲットサーバーを設定する場合、ツールキットの bin ディレクトリに付属する最上位レベルコマンド make_client を実行します。この最上位レベル make_client スクリプトは基本ターゲットサーバー構成情報を設定し、存在する場合は各モジュール固有の make_client スクリプトを呼び出します。モジュール固有の make_client スクリプトはターゲットサーバー固有の /opt/SUNWjet/Clients ディレクトリで追加作業を実行でき、またモジュールヒントを構成したり、それに応じてターゲットサーバープロファイル sysidcfg やそのほかのファイルを変更できます。

begin インタフェース

呼び出される場所

ターゲットサーバー

引数

なし

必須/オプション

オプション

JumpStart プロセスの「begin」段階で、ツールキットはモジュールが begin という名前のスクリプトを持っているかどうかを確認し、それが存在する場合は、そのスクリプトが実行されます。テンプレートのモジュール構成セクションで設定されたすべての変数は、スクリプトがアクセスする環境に存在します。

install インタフェース

呼び出される場所

ターゲットサーバー

引数

なし

必須/オプション

必須

install スクリプトは、モジュールの中心的な存在です。このスクリプトは Solaris のメインのインストールが完了したあとに、「finish」スクリプト段階でターゲットサーバー上に呼び出されます。その目的は、特定のアプリケーションのインストールまたは構成を調べることです。

スクリプトそれ自体は、新しくインストールされたターゲットサーバーの最初の再起動の前に呼び出されます。この時点で、ルートディレクトリ (/) は実際には JumpStart サーバーからマウントされた NFS ファイルシステムです。実際のディスクベースのルートディレクトリは、環境変数 $ROOTDIR (従来は /a に設定されている) の使用を通じて位置が特定されます。

ルートが $ROOTDIR に位置している場合にアプリケーションをインストールできなければ、install スクリプトは、ツールキットにより提供されるインストール後機能を使用して、最初の再起動後のそれ以降のインストールをスケジュールする必要があります。最初の再起動後、ターゲットサーバーは実際にそれ自身のディスクからブートし、ルートは実際に「/」になります。

install スクリプトは、ユーザーが提供する構成を取得し、実際のアプリケーションのインストールおよび構成を適切に実行する役割があります。これをどのように実現するかはモジュール開発者の工夫にかかっていますが、パッケージやパッチのインストール、ファイルコピー、メッセージ報告など共通のタスクを支援する数多くのユーティリティー機能がメインツールキットから使用できます。

モジュール install スクリプトが呼び出される前に、テンプレートで定義され、元来は module.conf ファイルから生成されたモジュール構成が、シェル環境に読み込まれます。install スクリプトは引数を使用して呼び出されることは想定していませんが、代わりに現在の環境からその構成を取得する必要があります。このテクニックにより、各モジュールインストールスクリプトが異なる数の引数を要求するといった問題を回避できます。

check_client インタフェース

呼び出される場所

ターゲットサーバー

引数

なし

必須/オプション

オプション

モジュール開発者が check_client スクリプトを用いると、テンプレートで指定されている構成オプションに関する基本的なチェックを実行できます。このスクリプトを呼び出すと、テンプレートで設定されている変数を使用して環境が構成され、またスクリプトはインストールエラーを減らすための基本的なチェックを実行できます。

モジュールは、有効なオプションのチェックや、選択したバージョン用のメディアが存在することのチェックを決定できます。提供される機能のレベルは、実装者によって決まります。