概要
このドキュメントでは、VMwareローカリゼーションに関連する問題を解決する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cloud Center Orchestrator(CCO)でデバッグログをオンにする方法
- Linuxでファイルを編集する方法(vim、nanoなどを使用)
- regex文字列の使用方法
使用するコンポーネント
このドキュメントの情報は、> Cloud Center V 4.6.0に基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
問題
VMwareにアプリケーションを導入しようとすると、「device '0' is referencing a nonexisting controller '0'」というエラーが表示されて失敗することがあります。 このエラーメッセージは、別の言語で表示される場合があります。この問題は、アプリケーションまたはインスタンスに追加ストレージがリストされている場合にのみ発生します。
この問題はCORE-15287で定義されています。
解決方法
この問題はCORE-11988に記載されています。
Cloud Center(CC)はVcenterのリソースに対して正規表現を実行しますが、Vcenterが異なるローカリゼーション(日本語、フランス語など)でインストールされている場合、CCに返されるリソースは異なる文字セットになり、正規表現は失敗します。
1. CCOへのセキュアシェル(SSH)
2. /usr/local/tomcat/webapps/ROOT/WEB-INF/gateway.propertiesを開きます。
3.新しい行vmware.scsci0.label.regex:.*SCSI\\s.*0を追加します。
4.このregexはフランス語のローカリゼーションと、SCSIの前に文字が付いたローカリゼーションで動作し、コントローラ番号が0の場合、一部のローカライズでは変更が必要になる場合があります。
5. tomcatサーバーを停止して起動します。
6.再配備。
それでも同じエラーが発生する場合:
1. CCOでデバッグロギングをオンにします。
2.別のアプリケーションを展開します。
3. Cat /usr/local/tomcat/logs/osmosix.log | grep "SCSI0 Label check user configured regex"
5.これにより、SCSI 0を検索するためにCCOが使用する内容が返されます。
6.出力を使用してゲートウェイのプロパティを編集し、CCがVMwareを正しく検索します。出力がnullの場合は、Springのバグが発生し、プロパティファイルのロードに使用されます。
正規表現を正しく適用するには、次の回避策があります。
1. cat /usr/local/tomcat/logs/osmosix.log | grep "PropertyPlaceholderConfigurer"
注:このスクリーンショットに示されている最初のファイルは、/smussix-commons-cloudprovider-4.8.0.jarです。
2./etc/init.d/tomcat stop
を選択します。cd /tmp.
4.cp /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/fileidentified.jar /tmp
5.jar xvf fileidentified.jar spring/cloud/nsx.properties
6.編集するnsx.propertiesを開きます。
7. vmware.scsci0.label.regex=.*SCSI\\s.*0行を追加します。
8.jar uf fileidentified.jar /spring/cloud/nsx.properties
9.cp /tmp/filespecified.jar /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/
10. /etc/init.d/tomcat start
別のアプリケーションを導入し、次の手順を使用して再検証を試み、正規表現が正しく適用されたことを確認します。