GNU/Linux >> Linux Esercitazione >  >> Linux

Come correggere l'errore di autenticazione Keystone di OpenStack - HTTP 500?

Ecco una domanda di uno dei nostri lettori Praveen.

Domanda: Sto installando Openstack su una macchina CentOS seguendo la documentazione online da openstack.org. Ho installato il pacchetto keystone, ma ho riscontrato un errore durante la creazione di un utente amministratore per il cloud. Ho usato il comando seguente.

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

Ma il comando precedente ha restituito un messaggio di errore:

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

Qualcuno potrebbe aiutarmi?

Soluzione:

  • Dovresti controllare il file di registro di keystone . Per impostazione predefinita, il file di registro keystone si trova in "/var/log/keystone/keystone.log ” e scopri cosa ha causato l'errore HTTP 500 .
  • Controlla se ti riferisci al destra 'OS_SERVICE_ENDPOINT ' e OS_SERVICE_TOKEN .

Ad esempio :

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

Dovresti anche confrontare "OS_SERVICE_ENDPOINT ' e 'OS_SERVICE_TOKEN'  voci in ‘/etc/keystone/keystone.conf ' file.

  • Controlla le credenziali MySQL per keystone è impostato correttamente.
#vi /etc/keystone/keystone.conf

e controlla le voci corrette in [database]

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

Nella maggior parte dei casi, le persone commettono errori durante la configurazione delle impostazioni di cui sopra. Nel caso, se le credenziali MySQL per keystone sono errate, dovresti vedere un messaggio di errore (/var/log/keystone/keystone.log) come quello mostrato di seguito.

OperationalError: (OperationalError) (2005, "Unknown MySQL server host 'controller' (1)") None None
  • Verifica se il database keystone contiene le tabelle necessarie :Questo potrebbe essere uno dei motivi. Ad esempio, durante la configurazione di keystone, hai creato tabelle per il database keystone? Per verificare, accedi a mysql come di seguito.
#mysql -u keystone -p
mysql>use keystone
mysql>show tables

Se non trovi tabelle nel database keystone, dovresti prima crearlo. In questo caso, dovresti vedere un errore corrispondente nel file /var/log/keystone/keystone.log. L'errore di esempio è pubblicato di seguito:

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

Nel caso in cui visualizzi l'errore precedente, crea tabelle per il database keystone utilizzando il comando seguente.

# keystone-manage db_sync keystone

Ora verifica se le tabelle sono state create nel 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)

Ora prova a creare un utente amministratore eseguendo il comando seguente

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

CRITICAL keystone [-] ConfigFileNotFound:il file di configurazione di Keystone keystone-paste.ini non è stato trovato

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

Soluzione:

Come dice il messaggio di errore, verifica se keystone-paste.ini esiste ed è identificato correttamente da keystone.conf file.

Apri /etc/keystone/keystone.conf e verifica se "file_config ' si riferisce al file keystone-paste.ini.

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

Prova a riavviare il servizio.

#service openstack-keystone start

Potresti anche leggere : Elenco di errori comuni (e soluzioni) durante l'installazione e la configurazione di OpenStack Nova ServiceServizio sguardo

E il Bonus è qui...

    Scarica l'ebook gratuito sull'installazione di OpenStack Icehouse! Scarica il cheat sheet dell'interfaccia a riga di comando di OpenStack! – Comandi più utilizzati

Linux
  1. Come correggere l'errore di errore di autenticazione Cron in Linux?

  2. Come risolvere l'errore OpenStack - Impossibile eliminare la rete? [Risolto]

  3. Come risolvere l'errore apt-get Impossibile recuperare nelle versioni di Ubuntu non supportate

  4. Come correggere l'errore di localizzazione?

  5. Come risolvere 500 errori

Come correggere l'errore di conversione con Calibre

Come correggere l'errore Busybox Initramfs su Ubuntu

Come correggere l'errore di Flash Player mancante in Midori [Suggerimento rapido]

Come riparare le connessioni di lavoro non sono sufficienti errori su Nginx

Come correggere l'errore 403

Come correggere un errore di connessione al database