GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit chybu OpenStack's Keystone Authentication Error – HTTP 500?

Zde je otázka od jednoho z našich čtenářů Praveen.

Otázka: Instaluji Openstack na počítač CentOS podle online dokumentace z openstack.org. Nainstaloval jsem balíček keystone, ale při vytváření uživatele správce pro cloud došlo k chybě. Použil jsem níže uvedený příkaz.

keystone user-create --name=admin --pass=<admin_password> --email=<admin_email>

Ale výše uvedený příkaz vrátil chybovou zprávu:

An unexpected error prevented the server from fulfilling your request. (HTTP 500)

Mohl by mi někdo pomoci?

Řešení:

  • Měli byste zkontrolovat soubor protokolu keystone . Ve výchozím nastavení je soubor protokolu keystone umístěn na „/var/log/keystone/keystone.log “ a podívejte se, co způsobilo chybu HTTP 500 .
  • Zkontrolujte, zda odkazujete na správný ‘OS_SERVICE_ENDPOINT “ a OS_SERVICE_TOKEN .

Například:

#export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0
#export OS_SERVICE_TOKEN=<valid_token>

Měli byste také porovnat „OS_SERVICE_ENDPOINT “ a „OS_SERVICE_TOKEN“  záznamy v „/etc/keystone/keystone.conf ‘ soubor.

  • Zkontrolujte, zda přihlašovací údaje MySQL pro keystone je správně nastaven.
#vi /etc/keystone/keystone.conf

a zkontrolujte správné položky v [databáze]

[database]
connection = mysql://keystoneUsername:keystonePassword@controller-hostname/keystone

Ve většině případů lidé dělají chyby při konfiguraci výše uvedených nastavení. V případě, že jsou přihlašovací údaje MySQL pro keystone nesprávné, měla by se zobrazit chybová zpráva (/var/log/keystone/keystone.log) podobná té, která je uvedena níže.

OperationalError: (OperationalError) (2005, "Unknown MySQL server host 'controller' (1)") None None
  • Zkontrolujte, zda databáze keystone obsahuje potřebné tabulky :To může být jeden důvod. Vytvořili jste například při konfiguraci keystone tabulky pro databázi keystone? Pro ověření se přihlaste do mysql, jak je uvedeno níže.
#mysql -u keystone -p
mysql>use keystone
mysql>show tables

Pokud v databázi keystone nenajdete žádné tabulky, měli byste ji nejprve vytvořit. V tomto případě byste měli vidět odpovídající chybu v souboru /var/log/keystone/keystone.log. Ukázková chyba je zveřejněna níže:

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',)

V případě, že uvidíte výše uvedenou chybu, vytvořte tabulky pro keystone databázi pomocí níže uvedeného příkazu.

# keystone-manage db_sync keystone

Nyní ověřte, zda jsou tabulky vytvořeny v databázi 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)

Nyní zkuste vytvořit administrátora spuštěním níže uvedeného příkazu

keystone user-create --name=admin --pass=<admin_password> --email=<admin_email>

CRITICAL keystone [-] ConfigFileNotFound:Konfigurační soubor Keystone keystone-paste.ini nebyl nalezen

# 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.

Řešení:

Jak říká chybová zpráva, ověřte, zda keystone-paste.ini soubor existuje a je správně identifikován souborem keystone.conf soubor.

Otevřete /etc/keystone/keystone.conf a podívejte se, zda „config_file ‘ odkazuje na soubor keystone-paste.ini.

[paste_deploy]
config_file=/usr/share/keystone/keystone-dist-paste.ini

Zkuste službu spustit znovu.

#service openstack-keystone start

Mohli byste si také přečíst: Seznam běžných chyb (a řešení) při instalaci a konfiguraci OpenStack Nova Serviceslužbu Pohled

A bonus je tady...

    Stáhněte si zdarma e-knihu o instalaci OpenStack Icehouse! Stáhněte si Cheat Sheet rozhraní příkazového řádku OpenStack! – Nejčastěji používané příkazy

Linux
  1. Jak opravit chybu Rust „linker ‚cc‘ nenalezen“ v systému Linux

  2. Jak opravit chybu „gpg:příjem keyserveru selhal:Žádný dirmngr“ Chyba

  3. Jak opravit - Chyba Apache:Žádný odpovídající DirectoryIndex?

  1. Jak opravit chybu Příkaz nenalezen v Linuxu

  2. Jak opravit chybu Cron Authentication Failure v Linuxu?

  3. Jak opravit chybu konfigurace:nelze najít adresář maker ‚m4‘ [Vyřešeno]

  1. Jak opravit chybu OpenStack – nepodařilo se odstranit síť? [vyřešeno]

  2. Jak opravit chybu apt-get Failed to Fetch v nepodporovaných vydáních Ubuntu

  3. Jak opravit chybu Locale?