planはexecution planともいい、特定のホスト上で 1 つ以上のコンポーネントを管理するために使用する命令のシーケンスです。たとえば、実行プランで 3 つのコンポーネントをインストールして、別のコンポーネントの「起動」制御を開始することができます。
プランは、ほかのプランのシーケンスを含むことができます。これにより、共通の命令シーケンスをプランとして作成し、複数のプラン間で共有できます。たとえば、3 つのコンポーネントをインストールし、別のコンポーネントに対して起動を開始するように、プランでプロビジョニングシステムに指示します。
プロビジョニングシステムは、XML schemaで表すオブジェクトのメモリー内表現を提供します。この表現は、これらのオブジェクトの妥当性検査、持続性、バージョン管理のプロセスも定義します。
プロビジョニングシステムがプランを実行するときに、コンポーネントで宣言された置換変数が実際の値に置き換えられます。プロビジョニングシステムは通知機能もサポートするので、プランの実行に関連したイベントに対して電子メールを送信できます。
プロビジョニングシステムがサポートするプランは、次の 2 種類です。
単純プラン。simple planには、単純ステップの集まりが含まれます。このプランは、ほかのプランを呼び出すことはできません。
複合プラン。composite planには、ほかのプラン (サブプラン) だけが含まれます。
XML スキーマで 2 種類のプランを区別します。したがって、ほかのサブプランの呼び出しが含まれる上位レベルのプランを使用することも、単純なステップからなり、サブプランの呼び出しは含まれていない単純プランを使用することもできます。
単純プランのステップの実行が同一ターゲットホストセット上に限定されるのに対して、複合プランのステップは複数の異なるターゲットホストセット上で実行できるので、この区別は重要です。複合プランでは、含まれる単純プランごとに、ターゲットホストセットを 1 つずつ使用できます。
Steps は、プランとコンポーネントの両方に組み込むことのできる単純な命令です。プロビジョニングシステムがサポートするステップの種類は、次のとおりです。
コンポーネント内部からのみ呼び出すことのできるステップ。このタイプのステップを呼び出すことができるのは、インストールブロックまたはアンインストールブロックからだけです。『N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド』の「コンポーネントのインストール専用のステップ」と『N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド』の「コンポーネントのアンインストール専用のステップ」を参照してください。
プランからのみ呼び出すことのできるステップ。このタイプのステップを呼び出すことができるのは、複合プランまたは単純プランからだけです。『N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド』の「複合プラン専用のステップ」と『N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド』の「単純プラン専用のステップ」を参照してください。
プランまたはコンポーネントから呼び出すことができるステップ。『N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド』の第 2 章「コンポーネントと単純プランにより使用される共有スキーマ」を参照してください。
まだインストールされていないコンポーネントは <install> ステップを使用できます。
まだインストールされていないコンポーネントを参照するステップは、コンポーネント名とオプションのバージョンを指定するだけです。
すでにインストール済みのコンポーネントは、次のステップを使用できます。
<uninstall>
<call>
<checkDependency>
<createDependency>
<addSnapshot>
インストール済みコンポーネントを参照するステップは、installPath 属性を指定する必要があります。同じサーバーに同じコンポーネントを繰り返しインストールできるからです。
「Apache」コンポーネントが次の属性値とともに、ホストにインストールされているものとします。
コンポーネントインスタンス |
installPath |
version |
installDate |
---|---|---|---|
A |
/opt |
1.3 |
6/1/01 6:00 p.m. |
B |
/usr/local |
1.4 |
6/1/01 5:00 p.m. |
C |
/opt |
1.2 |
6/2/01 5:00 p.m. |
D |
/usr/local/bin |
1.4 |
6/3/01 5:00 p.m. |
E |
/export |
1.1 |
6/4/01 5:00 p.m. |
以下に、installPath 属性と version 属性の組み合わせに応じて、値が供給されたときに、どのインストール済みコンポーネントが参照されるかを示します。
installPath |
version |
versionOp |
結果 |
説明 |
---|---|---|---|---|
なし |
なし |
なし |
E |
version および installPath の値に関係なく、ターゲットホストに最後にインストールされたコンポーネントが使用されます。 |
/opt |
なし |
なし |
C |
version の値に関係なく、指定のインストールパスに最後にインストールされたコンポーネントが使用されます。 |
/usr/bin |
なし |
なし |
エラー |
指定のパスにコンポーネントはインストールされていません。 |
なし |
1.4 |
= |
D |
installPath の値に関係なく、指定のバージョンが含まれているコンポーネントのうち、最後にインストールされたものが選択されます。 |
なし |
1.5 |
任意 |
エラー |
指定されたバージョンのコンポーネントはインストールされていません。 |
/usr/local |
1.4 |
=, >= |
B |
指定の installPath 属性値および version 属性値と一致するコンポーネントが選択されます。 |
/usr/local |
1.2 |
= |
エラー |
指定のインストール パスにこのバージョンはインストールされていません。 |
/usr/local |
1.2 |
>, >= |
B |
installPath、version、および versionOp の値と一致したもの。 |
/opt |
3 |
任意 |
エラー |
2 つ以上のコンポーネントが同じパスにインストールされ、なおかつ名前が同じ場合は、事実上、最後にインストールされたコンポーネントがインストール済みコンポーネントを上書きします。それまでにインストールされていたコンポーネントは、直接指定してもアクセスできません。 |