モジュール
モジュールは、Cisco UCS Director への最上位の論理エントリ ポイントです。
モジュールには、次のコンポーネントを含めることができます。
コンポーネント |
説明 |
---|---|
タスク |
ワークフローの一部として使用できるワークフロー タスク。 |
レポート |
Cisco UCS Director UI に表示されるレポート。レポートにはクリック可能なアクションを含めることができます(ただし、必須ではありません)。 |
トリガー |
満たされたときに何らかのアクションに関連付けできる条件。例:VM のシャットダウン、VM の起動など。 |
モジュールの作成
カスタム モジュールが機能するためには次の項目を準備する必要があります。
-
AbstractCloupiaModule
を拡張するクラス。 -
AbstractCloupiaModule
を拡張するモジュール クラスのOnStart
メソッドをオーバーライドする。 -
依存 jar およびモジュール クラスを指定する .feature ファイル。
-
カスタム モジュールでは、module.properties ファイルが必須です。
始める前に
Open Automation SDK バンドルのサンプル プロジェクトで FooModule を参照してください。
手順
ステップ 1 |
|
||
ステップ 2 |
依存 jar およびモジュール クラスを指定する .feature ファイルを作成します。 |
||
ステップ 3 |
lib フォルダに必要なカスタム jar ファイルを追加します。 |
||
ステップ 4 |
プロパティ ファイルは、モジュール jar のルート レベルでパッケージ化します。
|
||
ステップ 5 |
module.properties ファイルで、moduleID をカスタム モジュールの ID に書き換えます。 |
||
ステップ 6 |
Eclipse IDE パッケージ エクスプローラから、build.xml ファイルを右クリックして、ANT ターゲット ビルドを実行します。これにより、モジュール zip ファイルが生成され、プロジェクトのベース ディレクトリに保存されます。 |
Open Automation SDK バンドル
Open Automation SDK バンドルでは、次のファイルおよびディレクトリが提供されます。ここでリストされているのは、コンピューティング モジュールの例に使用するファイルおよびディレクトリです。Open Automation SDK バンドルには、他にも 3 つのモジュールが含まれています。
-
ストレージ モジュール
-
ネットワーク モジュール
-
「foo」という名前のダミー モジュール
これらのモジュールにも、モジュール タイプ(コンピューティング、ストレージ、ネットワーク、または foo)のみが異なる同様のファイル名とパス名が付いています。
- .classpath
- .classpath ファイルには、プロジェクトのソース ディレクトリ、出力ディレクトリ、およびワークスペースや JAR ファイルなどに含まれる他のプロジェクトなどのクラスパス エントリが示されています。
- .project
- .project ファイルは、コア Eclipse プラットフォームで保持されます。このプラットフォームは、プラグインに依存しない一般的な Eclipse ビューでプロジェクトを示します。
- src
- src ディレクトリには、Eclipse でコンパイルする Java ソース ファイルと国際化対応リソース バンドルが含まれています。
- resources
- resources ディレクトリには、構築するイメージの zip ファイルが含まれています。
- compute.feature
- compute.feature ファイルは、コンピューティング プロジェクトの Open Automation 機能メタデータを定義します。
- lib
- lib ディレクトリには、Eclipse で Java ソース ファイルをコンパイルする際に必要なライブラリが含まれています。
- Poddefinition
- このディレクトリには、pod.xml ファイルが含まれています。
- cloud sense
- cloud sense ディレクトリには、compute.report および compute.xml ファイルが含まれています。これらのファイルは、zip ファイルの構築に必要です。
- moresources
- moresources ディレクトリには、.mo および .properties REST API ファイルが含まれています。
module.properties ファイルの概要
module.properties ファイルはプラットフォームのランタイムにモジュールを公開します。このファイルは、モジュールのプロパティを定義します。
サンプルの module.properties ファイルを次に示します。
moduleID=foo
version=1.0
ucsdVersion=6.5.0.0
category=/foo
format=1.0
name=Foo Module
description=UCSD Open Automation Sample Module
contact=support@cisco.com
key=5591befd056dd39c8f5d578d39c24172
次の表で内容について説明します。
名前 | 説明 | ||
---|---|---|---|
moduleID |
モジュールの一意の識別子。このプロパティは必須です。 例:
|
||
version |
モジュールの現在のバージョン。このプロパティは必須です。 例:
|
||
ucsdVersion |
モジュールをサポートする(モジュールが最適に動作する)ように設計された Cisco UCS Director のバージョン。このプロパティは必須です。 例:
|
||
category |
すべてのタスクが配置されるパス(/location)。このプロパティは必須です。 例:
|
||
format |
このモジュールの形式のバージョン。このプロパティは必須です。デフォルトでは、カスタム モジュールにはバージョン 1.0 が設定されます。 例:
|
||
name |
Open Automation レポート内のモジュールを識別できるわかりやすい文字列。 例:
|
||
description |
モジュールについてのわかりやすい説明。 例:
|
||
contact |
モジュールのユーザがサポートを依頼するための電子メール アドレス。 例:
|
||
key |
Cisco UCS Director Open Automation グループがモジュールを検証する目的で提供する暗号化キー。 例:
|
(注) |
必須プロパティを変更すると、モジュールが無効になります。必須プロパティのいずれかを変更した場合は、再度、検証を依頼する必要があります。必須ではない name、description、および contact の値は、再検証なしで変更または省略できます。 |
モジュールのパッケージ化
モジュールは、すべての必要なクラス、依存 JAR ファイル、module.properties ファイル、および .feature(「ドットフィーチャー」)ファイルとともにパッケージ化されます。.feature ファイルは、プロジェクトのルートと同じフォルダに配置されます。.feature ファイルには、このモジュールに関連付けられている JAR と、依存 JAR ファイルへのパスが示されます。.feature ファイルの名前は <moduleID>-module.feature です。
次の例に、.feature ファイルの内容を示します。
{
jars: [ "features/feature-chargeback.jar",
"features/chargeback/activation-1.1.jar",
"features/chargeback/axis2-jaxbri-1.5.6.jar",
"features/chargeback/bcel-5.1.jar",
"features/chargeback/jalopy-1.5rc3.jar",
"features/chargeback/neethi-2.0.5.jar",
"features/chargeback/antlr-2.7.7.jar",
"features/chargeback/axis2-jaxws-1.5.6.jar",]
features: [ "com.cloupia.feature.oabc.OABCModule" ]
}
始める前に
Eclipse に付属している Apache ANT ビルド ツールを使用することを推奨します。別のビルド ツールを使用することも、ツールを使用せずにビルドすることも可能ですが、ANT でビルドした場合と同じ特性のパッケージを提供する必要があります。
手順の概要
- モジュールがサンプル ソース コードにない JAR に依存している場合、JAR を build.xml ファイルに含めることで zip ファイルにパッケージ化してください。
- build.xml ファイルから、ANT ターゲット ビルドを実行します。
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
モジュールがサンプル ソース コードにない JAR に依存している場合、JAR を build.xml ファイルに含めることで zip ファイルにパッケージ化してください。 |
次の例は、サードパーティの JAR を含むモジュール レイアウトを示しています。
モジュール jar と .feature が zip ファイルのトップ レベルに置かれています。サードパーティの JAR は、/moduleID/lib フォルダ パス(および追加するその他のサブ ディレクトリ)の下に配置することをお勧めします。
jar を .feature ファイルにリストする際は、jar が features/ から始まっていることを確認してください(必須)。この表記を使用すると、jar へのパスを含めることができます。各 jar のパスは、zip ファイルで使用しているパスと同じパスにする必要があります。モジュールが確実にロードされるように、モジュール jar を先頭に配置して、その後に依存関係ファイルを続けることをお勧めします。 |
ステップ 2 |
build.xml ファイルから、ANT ターゲット ビルドを実行します。 |
|
Cisco UCS Director でのモジュールの展開
Cisco UCS Director ユーザ インターフェイスには [オープンオートメーション(Open Automation)] コントロールが用意されており、これを使用してモジュールのアップロードや管理を行うことができます。これらのコントロールを使用して、モジュールの zip ファイルを Cisco UCS Director にアップロードします。
(注) |
[オープンオートメーション(Open Automation)] コントロールを使用してアップロードできるのは、zip 形式のファイルのみです。 |
始める前に
Cisco UCS Director VM のシェル管理者アクセス権を取得します。このアクセス権は、システム管理者から取得します。シェル管理者として Cisco UCS Director シェル メニューを使用するには、ログイン ユーザ名 shelladmin と管理者から取得したパスワードを使用して、SSH で Cisco UCS Director にアクセスします。
Windows システムの SSH アクセスでは、PuTTY を使用します(http://www.putty.org/ を参照)。Mac の場合は、組み込み端末アプリケーションの SSH ユーティリティを使用します。
手順
ステップ 1 |
を選択します。 |
||||||||||||||||||||||||
ステップ 2 |
[オープン オートメーション(Open Automation)] ページで [モジュール(Modules)] をクリックします。 [モジュール(Modules)] ページには次の列が表示されます。
|
||||||||||||||||||||||||
ステップ 3 |
[追加(Add)] をクリックして、新しいモジュールを追加します。 [モジュールを追加(Add Modules)] ダイアログボックスが表示されます。 |
||||||||||||||||||||||||
ステップ 4 |
モジュールの zip ファイルをローカル ファイルから選択し、[アップロード(Upload)] をクリックしてモジュールの zip ファイルをアップロードします。 |
||||||||||||||||||||||||
ステップ 5 |
[モジュール(Modules)] テーブルでモジュールを選択してから、[有効(Enable)] をクリックして、モジュールを有効にします。 |
||||||||||||||||||||||||
ステップ 6 |
Cisco UCS Director によってモジュールがアクティブ化されている間待機します。
|
次のタスク
モジュールの有効化
モジュールを有効にするために Cisco UCS Director を再起動する必要がなくなりました。ただし、新しいモジュールを変更、無効化、または削除する場合は、Cisco UCS Director を再起動する必要があります。
Open Automation モジュールは、Cisco UCS Director にアップロードすると有効になります。Cisco UCS Director の以前のバージョンで新しい Open Automation モジュールを有効にするには、Cisco UCS Director サーバの再起動が必要でした。
ここでは、モジュールを Cisco UCS Director にアップロードしたときにモジュールが有効になる技術的な仕組みについて、簡単に説明します。
Open Automation モジュールをアップロードすると、次のイベントが発生します。
-
モジュール クラスとそのリソースが新しい
URLClassLoader
によってロードされます。JVM にロードされるすべてのクラスに対して新しいURLClassLoader
が使用されます。 -
Cisco UCS Director の再起動なしで、Open Automation モジュールのコンポーネントが各レジストリに登録されます。
-
FeatureFileUploadEntry テーブルの zip ファイル名、タイムスタンプ、およびステータスが更新されます。
-
Pod Definition および Menu xml ファイル(使用可能な場合)がリロードされます。
-
REST API リソース ファイルがリロードされて MoPointer オブジェクトが再作成され、それぞれのコレクションに MoPointer がリロードされます。
-
レポート、ワークフロー タスク、LOV、システム タスクなどのオブジェクトが再作成されます。
モジュールの非アクティブ化
モジュールを非アクティブ化するには、変更が有効になるように Cisco UCS Director サービスを停止して再起動する必要があります。
手順
ステップ 1 |
非アクティブ化する必要のあるモジュールを [モジュール(Modules)] テーブルで選択し、続いて [非アクティブ化(Deactivate)] コントロールをクリックします。 |
ステップ 2 |
Cisco UCS Director サービスを停止して再起動します。モジュールのアクティブ化の後と同じ手順に従います。 |