GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Memperbaiki Kesalahan Otentikasi Keystone OpenStack - HTTP 500?

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

Dan Bonusnya ada di sini…

    Unduh eBook Gratis tentang Instalasi OpenStack Icehouse! Unduh Lembar Cheat Antarmuka Baris Perintah OpenStack! – Perintah yang Paling Umum Digunakan

Linux
  1. Cara Memperbaiki "gpg:keyserver accept failed:No dirmngr" Error

  2. Cara Memperbaiki kesalahan Konfigurasi:tidak dapat menemukan direktori makro 'm4' [Terpecahkan]

  3. Cara memecahkan masalah 500 kesalahan

  1. Bagaimana cara memperbaiki kesalahan Kegagalan Otentikasi Cron di Linux?

  2. Bagaimana Memperbaiki Kesalahan OpenStack – Gagal menghapus jaringan? [Terselesaikan]

  3. Cara Memperbaiki kesalahan apt-get Failed to Fetch di rilis Ubuntu yang tidak didukung

  1. Bagaimana Cara Memperbaiki Kesalahan Lokal?

  2. Bagaimana cara memperbaikinya - Kesalahan Apache:Tidak ada DirectoryIndex yang cocok?

  3. Cara memperbaiki kesalahan "verifikasi kunci host gagal"