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 Service a službu Pohled