Ini pertanyaan dari salah satu pembaca kami Praveen.
Pertanyaan: Saya menginstal Openstack di mesin CentOS dengan mengikuti dokumentasi online dari openstack.org. Saya telah menginstal paket keystone, tetapi mengalami kesalahan saat membuat pengguna admin untuk cloud. Saya menggunakan perintah di bawah ini.
keystone user-create --name=admin --pass=<admin_password> --email=<admin_email>
Tetapi perintah di atas mengembalikan pesan kesalahan:
An unexpected error prevented the server from fulfilling your request. (HTTP 500)
Bisakah seseorang membantu saya?
Solusi:
- Anda harus memeriksa file log keystone . Secara default, file log keystone terletak di “/var/log/keystone/keystone.log ” dan lihat apa yang menyebabkan kesalahan HTTP 500 .
- Periksa apakah Anda mengacu pada kanan 'OS_SERVICE_ENDPOINT ' dan OS_SERVICE_TOKEN .
Misalnya :
#export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0 #export OS_SERVICE_TOKEN=<valid_token>
Anda juga harus membandingkan ‘OS_SERVICE_ENDPOINT ‘ dan ‘OS_SERVICE_TOKEN’ entri di '/etc/keystone/keystone.conf ' file.
- Periksa apakah kredensial MySQL untuk keystone disetel dengan benar.
#vi /etc/keystone/keystone.conf
dan periksa entri yang benar di bawah [database]
[database] connection = mysql://keystoneUsername:keystonePassword@controller-hostname/keystone
Dalam kebanyakan kasus, orang membuat kesalahan saat mengonfigurasi pengaturan di atas. Jika kredensial MySQL untuk keystone salah, Anda akan melihat pesan kesalahan (/var/log/keystone/keystone.log) seperti yang ditunjukkan di bawah ini.
OperationalError: (OperationalError) (2005, "Unknown MySQL server host 'controller' (1)") None None
- Periksa apakah basis data keystone berisi tabel yang diperlukan :Ini bisa menjadi salah satu alasannya. Misalnya, saat mengonfigurasi keystone, apakah Anda membuat tabel untuk database keystone? Untuk memverifikasi, login ke mysql seperti di bawah ini.
#mysql -u keystone -p mysql>use keystone mysql>show tables
Jika Anda tidak menemukan tabel di database keystone, maka Anda harus membuatnya terlebih dahulu. Dalam hal ini, Anda akan melihat kesalahan yang sesuai di file /var/log/keystone/keystone.log. Contoh kesalahan diposting di bawah ini:
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',)
Jika Anda melihat kesalahan di atas, buat tabel untuk database keystone menggunakan perintah di bawah ini.
# keystone-manage db_sync keystone
Sekarang verifikasi apakah tabel dibuat dalam database 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)
Sekarang coba buat pengguna admin dengan menjalankan perintah di bawah ini
keystone user-create --name=admin --pass=<admin_password> --email=<admin_email>
CRITICAL keystone [-] ConfigFileNotFound:File konfigurasi Keystone keystone-paste.ini tidak dapat ditemukan
# 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.
Solusi:
Seperti yang dikatakan pesan kesalahan, verifikasi apakah keystone-paste.ini file ada dan diidentifikasi dengan benar oleh keystone.conf berkas.
Buka /etc/keystone/keystone.conf dan lihat apakah ‘config_file ' mengacu pada file keystone-paste.ini.
[paste_deploy] config_file=/usr/share/keystone/keystone-dist-paste.ini
Coba mulai layanan lagi.
#service openstack-keystone start
Anda mungkin juga ingin membaca : Daftar Kesalahan Umum (dan Solusi) saat Menginstal dan Mengonfigurasi OpenStack Layanan Nova dan Layanan Sekilas