N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド

<createDependency> ステップ

このステップは、ほかのコンポーネントに対する現在のコンポーネントの永続的な依存性を作成します。このステップは、その実行時にまず指定された基準に一致するインストール済みコンポーネントが存在しないかチェックします。そのようなコンポーネントが存在しない場合、このステップは停止します (この動作は <checkDependency> ステップに同じ)。一致するコンポーネントが見つかると、一致したコンポーネント (依存先コンポーネント) と呼び出しコンポーネント (依存元コンポーネント) の間に永続的な依存性が作成されます。

複数のインストール済みコンポーネントが基準に一致する場合 (インストールパスを指定しないとこのような状況となり得る) は、最新のものが依存先として使用されます。永続的なコンポーネントは、ステップで指定される名前で作成されます。 この名前は、インストールブロックで作成されるすべての依存性間で一意のものでなければなりません。

作成された永続的な依存性は、依存コンポーネントがアンインストールされるまで持続します。永続的な依存性を作成したあとで後続のステップで依存コンポーネントのインストールが停止する場合、依存性はこの停止時にただちに削除されます。

個々のコンポーネントは、<createDependency> ステップをほかのコンポーネントごとに実行することにより任意の数のコンポーネントに依存できます。依存性が満たされない場合、実際の処理が行われる前にインストールが停止するように、<createDependency> ステップはインストールブロックの最初のステップに指定する必要があります。

<createDependency> ステップには 1 つの必須子要素があり、この要素が依存先コンポーネントを特定します。その子要素はインストール済みコンポーネントターゲッターです。詳細は、「インストール済みコンポーネントターゲッター」を参照してください。

<createDependency> ステップの属性

<createDependency> ステップには identifier 型の 1 つの必須属性 name があり、これは作成する依存性の名前です。この名前は、現在のコンポーネントによって作成されるすべての依存性の間で一意のものでなければなりません。

<createDependency> ステップのアンインストールについて

コンポーネントのアンインストールは、そのコンポーネントに対して依存するインストール済みコンポーネントが存在する場合は行えません。コンポーネントのアンインストールブロックが検出された場合で、そのコンポーネントを依存先とする 1 つ以上の永続的な依存性が存在するときは、アンインストールはただちに停止します。

しかし、コンポーネント A によってコンポーネント B のアンインストールが進行している場合、A によって作成された B に対する依存性が B のアンインストールを防止することはなく、この依存性は B が正常にアンインストールされた時点で暗黙に削除されます。

依存先コンポーネントは、<dependantCleanup> ブロックを使用してその依存元 (dependant) をアンインストールするアクションを指定できます。

<createDependency> ステップの再インストールについて

同じホストとインストールパス上にインストールされた同じバージョンツリー内に既存コンポーネントが存在する場合、コンポーネントのインストールは、再インストールと見なされます。コンポーネントの再インストールが行えるのは、その新しいコンポーネントがオリジナルコンポーネントのすべての依存元に適合する場合だけです。コンポーネントは常に同じバージョンのコンポーネントで再インストールできます。ただし、永続的な依存性を作成した <createDependency> ステップ内で指定した制約に、新しいバージョンが適合する場合には、異なるバージョンで再インストールすることもできます。

コンポーネントの単純インストールブロックが検出された場合は、インストールによって既存のインストールが上書きされるかどうかを、プロビジョニングソフトウェアが判別します。上書きされる場合、プロビジョニングソフトウェアは、既存のコンポーネントを依存先としている永続的な依存性をすべて検出し、インストールされる新しいコンポーネントについても依存性の制約が適合するかを検証し直します。適合しないものがある場合、新しいコンポーネントのインストールは失敗し、オリジナルコンポーネントがインストールされたままとなります。

すべて適合する場合、新しいコンポーネントがそのインストールを正常に完了した時点で、当該コンポーネントがすべての永続的な依存性の新しい依存先となります。オリジナルのコンポーネントはアンインストールされたと見なされ、そのコンポーネントの依存元であったすべての永続的な依存性が削除されます。つまり、新しいコンポーネントは必要に応じて依存性を作成し直す必要があります。

<createDependency> ステップの命名規則

依存性の名前は、「 xxx2 yyy」という形式に従います。xxx は依存元コンポーネントの名前、 yyy は依存先コンポーネントの名前を示します。

たとえば、管理対象サーバー WebLogic はその管理サーバーに対して server2domain という依存性を持ち、その包含クラスタに対して server2cluster という依存性を持つ例が考えられます。この慣例は依存関係の状態を自己記録として表現するのに便利であり、特定のコンポーネントの依存先関係と依存元関係の両方を示すことができます。