GNU/Linux >> Linux の 問題 >  >> Linux

OpenStack Image Serviceのインストール中の最も一般的なエラー(および解決策)のリストGLANCE

最近、openstack.orgの公式ドキュメントに従って、プロジェクトの1つにOpenStackIcehouseをインストールしました。コントローラノードにImageservice(Glance)をインストールしているときに、いくつかのエラーが発生しました。数分間グーグルした後、私はそれらを修正することができました。

これらのエラーのほとんどは、glanceデータベースのセットアップ(通常はglanceデータベース同期と呼ばれます)、Keystoneへのglanceサービスの登録、および glance-apiの起動中に発生しました。 サービスとglance-registry サービス。依存関係のエラーもほとんどありませんでしたが、この記事では説明しません。うまくいけば、それらについては別の記事で取り上げようと思います。

今のところ、Glanceのインストールと構成中に直面したエラーのリストは次のとおりです。

「glance-managedb_syncglance」の実行時にエラーが発生しました

エラーのスナップショットは次のとおりです。

$ glance-manage db_sync glance
/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
2015-02-03 22:00:02.848 8671 CRITICAL glance [-] DbMigrationError: version should be an integer

解決策:
これは、インストールされているGMPのバージョンと関係があります。上記のエラーからわかるように、PyCryptoにはlibgmpバージョン>=5が必要です。 。これを修正するには、次の手順に従います。

gmp-6.0.0.aをダウンロードしてインストールします

 $ bunzip2 gmp-6.0.0a.tar.bz2
 $ tar xvf gmp-6.0.0a.tar
 $ cd gmp-6.0.0a.tar
 $ ./configure
 $ make
 $ make check
 $ make install

これで、適切なバージョンのGMPがインストールされ、これらのライブラリを使用してPyCryptoをインストールできます。これを行うには、以下のコマンドを実行します。

$ pip install --ignore-installed PyCrypto

PyCrptoをインストールしたら、Glanceデータベースの同期を再試行できます。

ImportError:/usr/lib64/python2.6/site-packages /Crypto/Cipher/_AES.so:未定義のシンボル:rpl_malloc

glance-db_syncglanceを管理する」の場合 ‘実行すると、次のエラーメッセージが表示されました:

$ glance-manage db_sync glance
su -s /bin/sh -c "glance-manage db_sync" glance
Traceback (most recent call last):
  File "/usr/bin/glance-manage", line 6, in 
    from glance.cmd.manage import main
  File "/usr/lib/python2.6/site-packages/glance/cmd/manage.py", line 45, in 
    from glance.db import migration as db_migration
  File "/usr/lib/python2.6/site-packages/glance/db/__init__.py", line 21, in 
    from glance.common import crypt
  File "/usr/lib/python2.6/site-packages/glance/common/crypt.py", line 23, in 
    from Crypto.Cipher import AES
  File "/usr/lib64/python2.6/site-packages/Crypto/Cipher/AES.py", line 50, in 
    from Crypto.Cipher import _AES
ImportError: /usr/lib64/python2.6/site-packages/Crypto/Cipher/_AES.so: undefined symbol: rpl_malloc

解決策:

以前は、GMPバージョン6.0.0.aをインストールしてlibgmp、PyCryptoエラーを修正し、pipinstallPyCryptoを修正しました。しかし、それは期待どおりに機能しませんでした。 PyCryptoはソースから再コンパイルする必要があり、pip経由でインストールするべきではないようです。

最新バージョンのPyCryptoをダウンロードして再コンパイルします

PyCryptoを解凍し、以下の環境変数を設定します。

$ export ac_cv_func_malloc_0_nonnull=yes

構成、ビルド、インストール

$ ./configure
$ python setup.py build
$ python setup.py install

PyCryptoをインストールしたら、「glance-db_syncglanceを管理」を試してください。 ‘もう一度。

エラー:ValueError:テーブル「migrate_version」にはutf8以外の照合があります、すべてのテーブルがCHARSET =utf8

であることを確認してください

#su -s / bin / sh -c“ glance-manage db_sync” glance

注:サービスのデータベースを同期するときは常に、対応するテーブルが作成されていることを確認してください。たとえば、上記のコマンドを使用して「glance」データベースを同期した場合、「migrate_version」以外のテーブルは作成されず、このパラグラフのタイトルに示されているようにエラーログが報告されました。

mysql> show tables;
+------------------+
| Tables_in_glance |
+------------------+
| migrate_version  |
+------------------+
1 row in set (0.00 sec)

解決策:

以下のようにmysqlデータベースにログインします:

$ mysql -u root -p
mysql > use glance
mysql > alter table migrate_version convert to character set utf8 collate utf8_unicode_ci;

ここで、「db_sync」を再試行してください。

mysql> show tables;
+------------------+
| Tables_in_glance |
+------------------+
| image_locations  |
| image_members    |
| image_properties |
| image_tags       |
| images           |
| migrate_version  |
| task_info        |
| tasks            |
+------------------+
8 rows in set (0.00 sec)

エラー:重要な一瞥[-] DbMigrationError:バージョンは整数である必要があります

Glanceデータベースの同期中に、まだいくつかのエラーが残っていました。

$ glance-manage db_sync glance
/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
2015-02-04 09:46:14.847 13116 CRITICAL glance [-] DbMigrationError: version should be an integer

解決策:

glance-manage」を実行する代わりに ‘2つの引数を使用して、1つの引数‘ db_sync を試してください 「一人で。

# glance-manage db_sync

それは私のために働いた。

エラー:–os-auth-urlまたはenvのいずれかを介して認証URLが必要です[OS_AUTH_URL

$ keystone user-create --name=glance --pass=<glance_password> --email=<admin_email>
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL
のいずれかを介して認証URLを期待しています

解決策: おそらくOpenStack認証URLが設定されていません。以下の環境変数を設定してみてください。

export OS_USERNAME=admin
export OS_PASSWORD=keystone_password
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://controller.node.in:35357/v2.0

上記の変数をシェルに設定したら、glanceサービスをキーストーンに再度登録してみてください。それは私のために働いた。

$ keystone user-create --name=glance --pass=glance_password --email=admin_email
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL

You should see table like the one below
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |          admin_email             |
| enabled  |               True               |
|    id    | c8c0212a16084a65469609c857914f8c |
|   name   |              glance              |
| username |              glance              |
+----------+----------------------------------+

glance-apiサービスの開始中にエラーが発生しました

$ service openstack-glance-api start [FAILED]

エラーログ/var/log/glance/openstack-glance-api-startup.log 以下のメッセージを明らかにしました:

ストアを正しく構成できませんでした:ストアファイルシステムを正しく構成できませんでした。理由:少なくとも「filesystem_store_datadir」または「filesystem_store_datadirs」オプションを指定してください。addメソッドを無効にします。

解決策:

  • glance-api.confを開きます ファイル。 /etc/glance/glance-api.confに配置する必要があります
  • filesystem_store_datadir」を探します ‘と設定‘ / var / lib / glance / images / ‘を値として。すでに設定してコメントしている場合は、コメントを外してください。
  • サービスを開始してみてください。

エラー:glance-apiの貼り付け構成ファイルが見つかりません

$ service openstack-glance-api start [FAILED]

解決策:

  • glance-api.confを開きます ファイル。 /etc/glance/glance-api.confに配置する必要があります
  • 「設定ファイルの貼り付け」テキストが含まれる行を探し、以下の行のコメントを解除します config_file =/ usr / share / glance / glance-api-dist-paste.ini
  • サービスを再開してみてください。

重要な一瞥[-]UnicodeError:メッセージオブジェクトは非ASCII文字を含む可能性があるため、str()をサポートしていません。代わりにunicode()またはtranslate()を使用してください。

$ service openstack-glance-registry start [FAILED]

ログファイル‘ /var/log/glance/openstack-glance-registry-startup.log ‘は以下のメッセージを明らかにしました:

解決策:

ファイル‘ /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.pyでエラーが発生しました ‘ UnicodeError を発生させていた‘ ‘。エラーの詳細については、こちらをご覧ください。

問題を解決するには。

1.このリンクに移動し、変更した「gettextutils.py」ファイルをコピーします。
2。既存のgettextutils.pyのバックアップを取ります 以下のファイル

cp /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py.bak

3.ファイル‘ gettextutils.py を置き換えます ‘手順1からコピーしたものを使用します。
4。以下のようにglance-registryサービスを開始します:

$ service openstack-glance-registry start

注:上記のコマンドが構文エラーで失敗した場合は、手順1で変更したgettextutils.pyスクリプトをコピーしているときに、不要な文字をコピーした可能性があります。たとえば、コピーしたファイルに「[docs]<」などの文字が含まれていました。 / em> ‘。この問題を修正するには、「 gettextutils.py」を開きます ‘、それらの不要な文字を検索して削除します。ファイルを保存して、glance-registryサービスを再開します。

サービスの開始に失敗した場合は、ログファイルで新しいエラーメッセージを探してください。

# tailf /var/log/glance/openstack-glance-registry-startup.log
Traceback (most recent call last):
  File "/usr/bin/glance-registry", line 6, in <module>
    from glance.cmd.registry import main
  File "/usr/lib/python2.6/site-packages/glance/cmd/__init__.py", line 17, in <module>
    gettextutils.install('glance', lazy=True)
TypeError: install() got an unexpected keyword argument 'lazy'

上記のエラーを修正するには:

$vim /usr/lib/python2.6/site-packages/glance/cmd/__init__.py

関数‘ gettextutils.install(‘glance’、lazy =True)を探します ‘そしてそれを以下のものと交換してください:

 gettextutils.install('glance')

ファイルを保存して、glance-registryサービスを開始してみてください。

エラー:glance-registryの貼り付け構成ファイルが見つかりません。

# service openstack-glance-registry start
 Starting openstack-glance-registry:                        [FAILED]

ログファイルは以下のエラーを明らかにしました:

# tailf /var/log/glance/openstack-glance-registry-startup.log
ERROR: Unable to locate paste config file for glance-registry.

解決策:

  • vim/etc/glance/glance-registry.conf」を開きます ‘と「設定ファイルの貼り付け」テキストのある行を探します。
  • 「config_file」のコメントを解除します。例:‘ config_file =/ usr / share / glance / glance-registry-dist-paste.ini ‘そしてサービスを再開してみてください。それは私のために働いた。

DeprecationWarning:oslo名前空間パッケージは非推奨になりました。代わりにoslo_configを使用してください。 oslo.configからインポートcfg

解決策: 以下のファイルを1つずつ開き、「 oslo.config」を置き換えます ‘with‘ oslo_config ‘そしてそれを保存します。 (ドットはアンダースコアに置き換えられていることに注意してください)

/usr/lib/python2.6/site-packages/glance/openstack/common/log.py
/usr/lib/python2.6/site-packages/glance/common/wsgi.py:37
/usr/lib/python2.6/site-packages/oslo_config/cfg.py:333
/usr/lib/python2.6/site-packages/oslo_config/cfg.py:333
/usr/lib/python2.6/site-packages/glance/common/config.py:26
/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py:22

サービスを開始して、警告が表示されるかどうかを確認してください。

これらの調査結果が誰かに役立つことを願っています。何か提案はありますか?下のコメントボックスで私と共有してください。

次のこともお勧めします:OpenStackのKeystoneインストールエラーの解決策

そしてボーナスはここにあります…

    OpenStack Icehouseのインストールに関する無料の電子書籍をダウンロードしてください! OpenStackコマンドラインインターフェースのチートシートをダウンロードしてください!–最も一般的に使用されるコマンド

Linux
  1. Dovecotをインストールして構成する方法

  2. OpenStack Icehouseのインストールエラーとソリューション– CentOS

  3. OpenStack Nova Serviceのインストールおよび設定中の一般的なエラー(および解決策)のリスト

  1. Solarisサービスのステータスと依存関係?

  2. フォルダとリストファイルをループしますか?

  3. vsFTPDのインストールと構成

  1. Bash while ループで and を使用する

  2. CentOS に MongoDB をインストール中に Yum エラーが発生しましたか?

  3. XeTeX のインストールと使用