事象内容

openstack domain create コマンドでサービスのドメインを作成しようとすると、下記エラーとなる。

[root@controller ~]# openstack domain create --description "An Example Domain" example
An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-476e95af-2fa3-429b-afca-0417a21188b8)
[root@controller ~]# 

解決方法

データベースが作成されていないと、同エラーが発生する。データベース環境を確認し、データベースが無い場合にはデータベースを作成する。

SQL データベースに root ユーザーで接続し、KeystoneのデータベースとKeystoneデータベースに接続するユーザーとアクセス権を作成する。ここでは、Keystoneのデータベース名は keystone 、ユーザー名は keystone 、データベースに接続するパスワードは KEYSTONE_DB_PASS としているので、実際の情報に置き換えてください。

[root@controller ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> CREATE DATABASE keystone;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> exit


[root@controller ~]#

認証サービス( Keystone )データベースを展開する。

[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
[root@controller ~]#