Cisco UCS Director Open Automation トラブルシューティング ガイド、リリース 5.4
Open Automation のトラブルシューティング
Open Automation のトラブルシューティング

Open Automation のトラブルシューティング

トラブルシューティング

モジュールがプラットフォームに登録されたかどうかを確認するにはどうしたらいいですか。

推奨される解決策

/opt/infra/inframgr ディレクトリで、logging.properties ファイルの下の com.cloupia.service.cIM.inframgr=DEBUG を有効にします。デバッグが有効になっていた場合は、jar to be loaded:jar: と「機能クラスのロード(Loading feature class)」が表示されます。数行の後に「次の機能クラスのロード時にエラー(Error while loading feature classes for)」というエラーがない場合は、モジュールが正常に追加されました。

/opt/infra/inframgr/features folder <moduleId>.feature file example ‹>dummy.feature Feature-<moduleId>.jar example ‹> feature-dummy.jar <moduleId> folder example ‹> dummy に次の 3 つの項目が存在するかを確認することによって、zip ファイルをアップロードして UCSD を再起動した後にモジュール機能が UCSD で正常にアップロードされたかどうかを確認できます。

レポートが正常に登録されたかどうかを確認するにはどうしたらいいですか。

推奨される解決策

log4j.logger.com.cloupia.service.cIM.inframgr.reports.simplified=DEBUG を有効にして、レポート登録のステータスを表示します。

ポッドを選択できません。

推奨される解決策

自分のポッドを定義する Pod.xml ファイルを提供して、正しい UCS Director POD のタイプであることを確認する必要があります。独自の Pod.xml を提供している場合、アカウントの作成はカスタム pod.xml の下にくるはずです。

モジュールをロードしていない場合はどうすればよいですか。

推奨される解決策

モジュールをロードしていない場合は、次を確認してください。

initDynamicFeatures(FeatureContainer.java:295) - Loading feature class com.cisco.feature.tempOA.TempOAModule from feature definition file /opt/infra/inframgr/features/TempOA.feature
2015-08-17 20:58:57,258 [main] ERROR initDynamicFeatures(FeatureContainer.java:317) - Error while loading feature classes for /opt/infra/inframgr/features/TempOA.feature
java.lang.ClassNotFoundException: com.cisco.feature.tempOA.TempOAModule
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at com.cloupia.service.cIM.inframgr.FeatureContainer.initDynamicFeatures(FeatureContainer.java:305)
        at com.cloupia.service.cIM.inframgr.FeatureContainer.loadFeatures(FeatureContainer.java:197)
        at com.cloupia.service.cIM.inframgr.FeatureContainer.<init>(FeatureContainer.java:52)
        at com.cloupia.service.cIM.inframgr.FeatureContainer.<clinit>(FeatureContainer.java:37)
        at com.cloupia.service.cIM.inframgr.InfraMgrImpl.initService(InfraMgrImpl.java:738)
        at com.cloupia.service.cIM.inframgr.APIProvider.initService(APIProvider.java:217)
        at com.cloupia.fw.services.provider.ServiceProvider.init(ServiceProvider.java:520)
        at com.cloupia.fw.services.provider.ServiceProvider.init(ServiceProvider.java:293)
        at com.cloupia.fw.services.provider.ServiceProvider.init(ServiceProvider.java:267)
        at com.cloupia.service.cIM.inframgr.InfraMgrMain.main(InfraMgrMain.java:176)

このエラーがログ ファイルにあった場合は、.feature ファイルでモジュール名を確認します。パスまたはモジュールのファイル名が間違っています。クラスが .java で終わっていないことを確認します。

レポートがメニューで正しく表示されません:ここで問題を識別します。

推奨される解決策

log4j.logger.com.cloupia.service.cIM.inframgr.reports.simplified=DEBUG パッケージを有効にして、次のログを表示します。

Creating Simple Tabular Report Entry for compute.ComputeTabReport
2015-08-13 16:48:38,956 [main] DEBUG createEntry(ReportRegistryProxy.java:370) - ***************Registering Report compute.ComputeTabReport******************************
2015-08-13 16:48:38,956 [main] DEBUG createEntry(ReportRegistryProxy.java:371) - Report name : compute.ComputeTabReport
2015-08-13 16:48:38,957 [main] DEBUG createEntry(ReportRegistryProxy.java:372) - Report Type : 2
2015-08-13 16:48:38,957 [main] DEBUG createEntry(ReportRegistryProxy.java:373) - Is config table false
2015-08-13 16:48:38,957 [main] DEBUG createEntry(ReportRegistryProxy.java:387) - Implementation class : class com.cloupia.feature.compute.reports.ComputeTabReportGenerator
2015-08-13 16:48:38,957 [main] DEBUG createEntry(ReportRegistryProxy.java:389) - Report label ComputeTabReport
2015-08-13 16:48:38,957 [main] DEBUG createEntry(ReportRegistryProxy.java:391) - Show in summary false
2015-08-13 16:48:38,958 [main] DEBUG createEntry(ReportRegistryProxy.java:393) - Map Rules UCSM_COMPUTE, 90305
2015-08-13 16:48:38,958 [main] DEBUG createEntry(ReportRegistryProxy.java:396) - Menu ID 50
2015-08-13 16:48:38,958 [main] DEBUG createEntry(ReportRegistryProxy.java:398) - Context level -1
2015-08-13 16:48:38,959 [main] DEBUG createEntry(ReportRegistryProxy.java:400) - Management report false
2015-08-13 16:48:38,959 [main] DEBUG createEntry(ReportRegistryProxy.java:402) - Embedded report true
2015-08-13 16:48:38,959 [main] DEBUG createEntry(ReportRegistryProxy.java:410) - Report priority : 5
2015-08-13 16:48:38,959 [main] DEBUG createEntry(ReportRegistryProxy.java:419) - Management column index -1
2015-08-13 16:48:38,960 [main] DEBUG createEntry(ReportRegistryProxy.java:425) - Operation level no_check

レポートの getMapRules API を上書きしていない場合は、GlobalAdmin コンテキストの下に登録されたレポートが表示されます。ログは次のログのようになります。

Processing hierarchy for report  compute.ComputeEasyReport @ Menu ID: 50
2015-08-13 16:48:38,960 [main] DEBUG preProcessReportHierarchy(ReportRegistryProxy.java:129) - Setting map rule global_admin,10
2015-08-13 16:48:38,978 [main] DEBUG preProcessReportHierarchy(ReportRegistryProxy.java:144) - The Dynamic context level to be used -1
2015-08-13 16:48:38,978 [main] DEBUG registerReportWithActions(ReportRegistryProxy.java:171) - Registering Report compute.ComputeEasyReport as a ConfigTable report
2015-08-13 16:48:38,978 [main] DEBUG registerReportWithActions(ReportRegistryProxy.java:175) - No Actions are defined for the report compute.ComputeEasyReport
2015-08-13 16:48:38,979 [main] DEBUG createConfigTable(ReportRegistryProxy.java:197) - Generating Config Table definition
2015-08-13 16:48:38,979 [main] DEBUG createConfigTable(ReportRegistryProxy.java:203) - The report context type -1
2015-08-13 16:48:38,979 [main] DEBUG createConfigTable(ReportRegistryProxy.java:207) - The Report entry context 10
2015-08-13 16:48:38,979 [main] DEBUG createConfigTable(ReportRegistryProxy.java:209) - The Management column 0
2015-08-13 16:48:38,980 [main] DEBUG createConfigTable(ReportRegistryProxy.java:211) - The Display column 1
2015-08-13 16:48:38,980 [main] DEBUG createEntry(ReportRegistryProxy.java:370) - ***************Registering Report compute.ComputeEasyReport.config******************************

モジュール機能が正常にアップロードされたことを確認するにはどうしたらいいですか。

UCS Director を再起動した後で、次のファイルが /opt/infra/inframgr/features ディレクトリにあることを確認します。

  • <moduleId>.feature

  • Feature-<moduleID>.jar

  • <moduleID>folder

module.zip ファイルのアップロード後に UCS Director が正常に再起動しません。

  • /opt/infra/uploads folder ディレクトリから zip ファイルを削除します。

  • ログを分析します。

  • モジュール コードを更新します。

  • zip ファイルをリロードします。

  • UCS Director を再起動します。

Open Automation のデバッグ

デバッグの際、inframgr(Infra Manager)ログを使用して、問題をトレースできます。inframgr ログは、[Cisco UCS Directorシェル(Cisco UCS Director Shell)] メニューまたは Cisco UCS Director GUI で取得できます。

shell admin のアプローチを使用する場合は、次の手順を実行します。

  • [Cisco UCS Directorシェル(Cisco UCS Director Shell)] メニューを開きます。

  • [18, Tail Inframgrログ(18, Tail Inframgr logs)] を選択します。

Cisco UCS Director GUI を使用する場合は、次の手順を実行します。

  • Cisco UCS Director GUI にログインします。

  • [管理(Administration)] > [サポート情報(Support Information)] に移動します。
  • [システム情報とログへのリンクページ(System Information and Logs Link Page)] をクリックします。

  • [Cisco UCS Director製品システム情報(Cisco UCS Director Product System Information)] フォームのドロップダウン メニューで [Infra Manager] を選択し、[ログの表示(Show Log)] をクリックします。

はじめる前に

[Cisco UCS Directorシェル(Cisco UCS Director Shell)] メニュー(別名、shell admin)で使用可能なデバッグ機能を使用するには、shell admin アクセスが必要となります。[Cisco UCS Directorシェル(Cisco UCS Director Shell)] メニューへのアクセスおよびメニューの使用の詳細については、Cisco UCS Director でのモジュールの展開 を参照してください。

Open Automation のデバッグ設定のセットアップ

Open Automation プロジェクトのデバッグ設定をセットアップし、デバッグ モードでアプリケーションを実行するには、次の手順を実行します。

手順
    ステップ 1   /opt/infra/inframgr/run.sh スクリプトの Java の隣に太字で次の行を追加します。
    java -Xdebug -agentlib:jdwp=transport=dt_socket,address=<port-number>,server=y,suspend=n -Xmx4096m -Xmx4096m -Djava.security.manager -Djava.security.policy=security.policy -verbose:gc  
    ステップ 2   <port-number> を使用するポート番号に置き換え、ファイルを保存します。
    ステップ 3   Eclipse IDE で Open Automation プロジェクトを右クリックして、[次としてデバッグ(Debug As)] > [デバッグ設定(Debug Configurations)] の順に選択して、デバッグ設定を作成します。
    図 1. デバッグ設定



    ステップ 4   リモート Java アプリケーション設定を作成するには、[リモートJavaアプリケーション(Remote Java Application)] を選択して [新規(New)] をクリックします。
    ステップ 5   デバッグ設定の名前を指定します。
    ステップ 6   [プロジェクト(Project)] フィールドで [参照(browse)] をクリックし、Open Automation プロジェクトを選択します。
    ステップ 7   [接続タイプ(Connection Type)] フィールドは、[標準(ソケット接続)(Standard (Socket Attach))] のままにします。
    ステップ 8   run.sh ファイルで指定した VM IP アドレスおよびポート番号を指定します。
    ステップ 9   [適用(Apply)] をクリックします。
    ステップ 10   module.java クラスまたはいずれかのモジュール コードにブレークポイントを追加します。
    ステップ 11   オプション 4([サービスの開始(Start Services)])を使用して shelladmin を実行することで、UCS Director を開始します。
    ステップ 12   Eclipse IDE で、Open Automation プロジェクトを右クリックし、[次としてデバッグ(Debug As)] > [作成されたリモートJavaアプリケーションの設定(Remote Java Application Configuration Created)] を選択します。
    ステップ 13   [デバッグ(Debug)] をクリックして、デバッグ セッションを開始します。