読者のPraveenからの質問です。
質問: openstack.orgのオンラインドキュメントに従って、CentOSマシンにOpenstackをインストールしています。 keystoneパッケージをインストールしましたが、クラウドの管理者ユーザーの作成中にエラーが発生しました。以下のコマンドを使用しました。
keystone user-create --name=admin --pass=<admin_password> --email=<admin_email>
しかし、上記のコマンドはエラーメッセージを返しました:
An unexpected error prevented the server from fulfilling your request. (HTTP 500)
誰かが私を助けてくれませんか?
解決策:
- キーストーンログファイルを確認する必要があります 。デフォルトでは、キーストーンログファイルは「 /var/log/keystone/keystone.log」にあります。 」を参照して、HTTP500エラーの原因を確認してください 。
- 正しい‘ OS_SERVICE_ENDPOINTを参照しているかどうかを確認します ‘と OS_SERVICE_TOKEN 。
例:
#export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0 #export OS_SERVICE_TOKEN=<valid_token>
また、「 OS_SERVICE_ENDPOINT」を比較する必要があります ‘および‘ OS_SERVICE_TOKEN’ ‘ /etc/keystone/keystone.confのエントリ ‘ファイル。
- キーストーンのMySQLクレデンシャルを確認する 正しく設定されています。
#vi /etc/keystone/keystone.conf
[データベース]
の下の正しいエントリを確認します[database] connection = mysql://keystoneUsername:keystonePassword@controller-hostname/keystone
ほとんどの場合、上記の設定を構成する際に間違いを犯します。キーストーンのMySQLクレデンシャルが間違っている場合は、次のようなエラーメッセージ(/var/log/keystone/keystone.log)が表示されます。
OperationalError: (OperationalError) (2005, "Unknown MySQL server host 'controller' (1)") None None
- キーストーンデータベースに必要なテーブルが含まれているかどうかを確認します :これが1つの理由である可能性があります。たとえば、keystoneの構成中に、keystoneデータベースのテーブルを作成しましたか?確認するには、以下のようにmysqlにログインします。
#mysql -u keystone -p mysql>use keystone mysql>show tables
keystoneデータベースにテーブルが見つからない場合は、最初にテーブルを作成する必要があります。この場合、/ var / log / keystone/keystone.logファイルに対応するエラーが表示されます。サンプルエラーは以下に掲載されています:
ProgrammingError: (ProgrammingError) (1146, "Table 'keystone.domain' doesn't exist") 'SELECT domain.id AS domain_id, domain.name AS domain_name, domain.enabled AS domain_enabled, domain.extra AS domain_extra \nFROM domain \nWHERE domain.id = %s' ('default',)
上記のエラーが表示された場合は、以下のコマンドを使用してkeystoneデータベースのテーブルを作成してください。
# keystone-manage db_sync keystone
次に、テーブルがkeystoneデータベースに作成されているかどうかを確認します。
mysql> show tables; +------------------------+ | Tables_in_keystone | +------------------------+ | credential | | domain | | ec2_credential | | endpoint_v2 | | endpoint_v3 | | metadata | | migrate_version | | policy | | role | | service | | tenant | | token | | user | | user_domain_metadata | | user_tenant_membership | +------------------------+ 15 rows in set (0.00 sec)
次に、以下のコマンドを実行して管理者ユーザーを作成してみてください
keystone user-create --name=admin --pass=<admin_password> --email=<admin_email>
CRITICAL keystone [-] ConfigFileNotFound:Keystone構成ファイルkeystone-paste.ini見つかりませんでした
# service openstack-keystone start Stopping keystone: [FAILED]
#tailf /var/log/keystone/keystone.log CRITICAL keystone [-] ConfigFileNotFound: The Keystone configuration file keystone-paste.ini could not be found. TRACE keystone Traceback (most recent call last): TRACE keystone File "/usr/bin/keystone-all", line 113, in TRACE keystone paste_config = config.find_paste_config() TRACE keystone File "/usr/lib/python2.6/site-packages/keystone/config.py", line 90, in find_paste_config TRACE keystone raise exception.ConfigFileNotFound(config_file=paste_config_value) TRACE keystone ConfigFileNotFound: The Keystone configuration file keystone-paste.ini could not be found.
解決策:
エラーメッセージにあるように、 keystone-paste.iniかどうかを確認します ファイルが存在し、 keystone.confによって適切に識別されている ファイル。
/etc/keystone/keystone.confを開きます ‘ config_file ‘はkeystone-paste.iniファイルを参照しています。
[paste_deploy] config_file=/usr/share/keystone/keystone-dist-paste.ini
サービスを再開してみてください。
#service openstack-keystone start
読むこともできます: OpenStack Novaサービスのインストールおよび構成中の一般的なエラー(および解決策)のリスト およびGlanceサービス