前のトピック: コンポーネント記述子構文

次のトピック: volume エンティティ


概要

コンポーネントの記述子には、1 つのコンポーネント エンティティが含まれ、シングルトン コンポーネントまたはインスタンス化可能なコンポーネントのクラスのいずれかを定義します。 シングルトンの定義とクラスの定義に違いはありませんが、唯一異なるのは、インスタンス化可能なクラスが、カタログとして参照されるコンポーネントのライブラリに存在する必要があることです。 また、どちらのタイプのコンポーネントもアセンブリに使用できますが、シングルトンはアプリケーション構造に一度だけ使用できるのに対し、インスタンス化可能なコンポーネントは何度でも使用することが可能です。

コンポーネント記述子構造の例を以下に 2 つ示します。最初の例は現在の標準的な形式で、2 つ目の例は、ブート情報指定の古い形式を示しています。 古い形式は、既存のカタログ アプライアンスでも互換性のために全面的にサポートされます。

component name
   { 
   volume sname : dev= pathname [, mount= pathname][, ro] [, high_bw] 

   resource cpu : min= val , max= val
   resource mem : min= val , max= val , abs= val
   resource bw  : min= val , max= val

   (input|output)  sname : protocol= name [, mandatory ][, alias = dnsname ] 
   interface  sname

   property  sname  : type=(string|integer|ip_addr) [, filter= regexp ] \
                    [,min= val ,max= val ] [, (mandatory| dflt= val) ] 
   property  sname  : type=(string|integer) [, values= v1|v2|v3... ] \
                    [, (mandatory| dflt= val ) ] 
   .config_mode=(dhcp|volfix) 
   virtualization: modes="[xen_pv][,xen_hvm][,vmware][,...]" 
      { 
      path = filename 
      initrd = filename 
      options = " string " 
      console = " string " 
      device_schema = " string " 
      } 

   visual 
      { 
      ... 
      } 
   } 
component name
   { 
   volume sname : dev= pathname, [, ro] [, high_bw] 

   resource cpu : min= val , max= val
   resource mem : min= val , max= val , abs= val
   resource bw  : min= val , max= val

   (input|output)  sname : protocol= name = [, mandatory][, alias = dnsname =] 
   interface  sname

   property  sname  : type=(string|integer|ip_addr) [, filter= regexp ] \
                    [,min= val ,max= val ] [, (mandatory| dflt= val) ] 
   property  sname  : type=(string|integer) [, values= v1|v2|v3... ] \
                    [, (mandatory| dflt= val ) ] 
   cfgfiles 
      [ 
      vol= sname , path= filename
      vol= sname , path= filename
      ... 
      ] 

   kernel: path= filename  [, initrd = filename ] [, options = " string" ] 

   visual 
      { 
      ... 
      } 
   } 

コンポーネント エンティティには以下の属性が定義されます。

.migrateable

設定された場合、コンポーネントをある CPU から別の CPU に移動させることができます(コンポーネントが仮想マシンで実行中で VM マイグレート サポートがある場合のみ)。 コンポーネントにこの属性を指定する必要はありません。指定されない場合のデフォルトは 1 (TRUE)です。 これは、ブール属性です。有効な値: 0、no、false、1、yes、true (インラインで値なしで指定された場合 1 を意味します)。
この属性がない場合、デフォルトで .migrateable=1 と見なされます。 一方、ADL に定義された他のほとんどのブール属性では、通常デフォルトは 0 になります。

.server

.migrateable が 0 に設定された場合、このコンポーネントが実行されるサーバの名前を定義します。 この属性は、.migrateable 属性と併せて、通常はコンポーネント記述子自体ではなく外部のアセンブリから設定されます。 この属性がコンポーネント内で設定された場合は、コンパイラによって警告が表示されます。

.standby

設定された場合、アプリケーションが開始されたときにコンポーネントが自動的に開始されないことを意味します。 .standby 属性は、コンポーネント記述子に直接設定されるものではありません。 通常は、コンポーネントが含まれるアセンブリから設定されるか、またはアプリケーションの最上位レベルのアセンブリにリダイレクトされ、アプリケーションのプロパティの変更によって、アプリケーションの有効化/無効化を可能にします(このプロパティは最上位のアセンブリに格納されています - 「パッケージ記述子」を参照してください)。 これはブール属性です。

.boot_tout

ブートのタイムアウト秒数です。 ゼロ以外の値に設定された場合、アプリケーション コントローラでは、コンポーネントがアクティブになるまで待機し、ここで指定された時間を経過すると開始に失敗したと見なします。 この属性を省略するか、ゼロに設定した場合、CA AppLogic コントローラに設定されたデフォルト値が使用されます。

.os_type

廃止 - この属性は新しく作成された記述子では使用できません。 代わりに仮想化エンティティの説明を参照してください。 .os_type は、このコンポーネントが使用する OS を指定します。 この情報は、仮想マシンで実行される複数の OS タイプのサポートに必要です。 提供される値は、ADL ビルド システムによって解釈されません。以下に説明する 'kernel' エンティティのデータと同様、VM ブート ローダに渡されるためのものです。 指定されない場合、'linux' であると見なされます。

.config_mode

コンポーネントを設定する方法を指定します。 有効な値は dhcp および volfix です。 デフォルトは dhcp です。 この属性は、指定されたコンポーネントに対して volfix 機能を維持する必要がある場合は、後方互換性の目的のみで明示的に使用する必要があります。 この属性は、記述子に仮想化エンティティがない場合は無視され、モードは volfix に設定されます。 これは、古い記述子(volfix に依存するコンポーネントに属し、dhcp 設定をサポートしない)が変更なしで動作できるようにするためです。

.field_opt

さまざまなデバッグおよびトラブルシューティング サポートを有効にするためのオプションのビットマスク。 他の事前定義済みの属性はすべてアセンブリからの属性値より優先されますが、この属性にはそのルールは適用されません。コンポーネントに指定された .field_opt 値はクラス フィールド オプションとして保持されますが、同じ属性のすべての設定は、アセンブリ内のそのコンポーネントのインスタンスに対して、インスタンス フィールド オプションとして保持されます。

.category

コンポーネントが属する一般的なカテゴリを定義する任意の文字列。 ADL 構文で使用可能ですが、解釈はされることはありません。 これは、CA AppLogic の視覚的ツールで、コンポーネントをコンポーネント ライブラリ(カタログ)に整理する目的で使用されます。

.description

コンポーネントの簡単な説明。 .category と同様、この属性の値は任意で、記述目的でのみ使用されます。

.console

OS システム コンソール設定パラメータ。 この文字列の形式は ADL の一部ではありません。現在サポートされているコンソール パラメータは、「グリッド ユーザ ガイド」に定義されています。 ".console" がコンポーネントに対して指定されない場合、CA AppLogic ではシステム デフォルト設定を使用します。 管理者権限を持つユーザが手動で上書きしない限り、システム デフォルト設定は、コンポーネントのコンソールをポート 22 上の ssh として定義します。

コンポーネント属性はすべて任意であり、記述子に含まれている必要はありません。

すべての属性は、コンポーネントの有効なプロパティでもあります。これは、コンポーネントが含まれるアセンブリで他の値に変更できます。

: 属性名の前にはドットが付けられます。これは標準プロパティとの名前の競合を回避するためです(以下のプロパティ エンティティを参照してください)。

以下の表は、コンポーネント内の有効なサブエンティティのサマリです。続くセクションで各サブエンティティが詳細に説明されています。

volume

コンポーネントによって使用されるファイル システムが含まれるボリュームを定義します。 少なくとも 1 つの volume エンティティが各コンポーネントに含まれている必要があります。

resource

コンポーネントの実行のために利用可能である必要があるハードウェア リソースに対するコンポーネントの要件を定義します。

input、output

これらのエンティティは、コンポーネントの端子を定義します。端子は、同じアプリケーション内の他のコンポーネントとの接続に使用されるネットワーク インターフェースです。

interface

他のコンポーネントとの接続用(input、output の端子)ではないネットワーク インターフェースを有効化および設定するために使用されます。

property

コンポーネントの設定可能なプロパティを定義します。

cfgfiles

プロパティ マークアップのために検証され、適宜更新される必要がある環境設定ファイルのリストを定義します。

kernel

廃止 - 代わりに virtualization を使用します。 このエンティティには OS 固有のブート情報が含まれます。その内容は、コンポーネントの .os_type 属性の値に依存します。

virtualization

このエンティティは、コンポーネントが設計された対象の仮想環境を定義し、コンポーネントのブート ローダに提供されるブート固有オプションを含みます。 'mode' フィールドは、古い記述子ファイルに対する後方互換性のために引き続きサポートされます。

visual

視覚表示データ。 ADL は、このエンティティの内容を定義しません。 このエンティティの目的は、GUI エディタで、コンポーネントがエディタのウィンドウで表示される方法に関連する情報を格納することです(色、アイコンの形、端子のレイアウトなど)。
このエンティティの内容は、UDL の一般的な構文ルールに準拠している必要があります(ルールについては、このドキュメントの前述の「すべての記述子に適用される構文ルール」を参照)。 また、詳細については、UDL の仕様を参照してください。