GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo corregir el error de autenticación Keystone de OpenStack:HTTP 500?

Aquí hay una pregunta de uno de nuestros lectores Praveen.

Pregunta: Estoy instalando Openstack en una máquina CentOS siguiendo la documentación en línea de openstack.org. Instalé el paquete keystone, pero recibí un error al crear un usuario administrador para la nube. Usé el siguiente comando.

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

Pero el comando anterior devolvió un mensaje de error:

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

¿Alguien podría ayudarme?

Solución:

  • Debe comprobar el archivo de registro de keystone . De forma predeterminada, el archivo de registro de Keystone se encuentra en "/var/log/keystone/keystone.log ” y ver qué causó el error HTTP 500 .
  • Compruebe si se refiere al derecho ‘OS_SERVICE_ENDPOINT ' y SO_SERVICE_TOKEN .

Por ejemplo:

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

También debe comparar 'OS_SERVICE_ENDPOINT ' y 'SO_SERVICE_TOKEN'  entradas en ‘/etc/keystone/keystone.conf ‘archivo.

  • Comprobar si las credenciales de MySQL para keystone está configurado correctamente.
#vi /etc/keystone/keystone.conf

y verifique las entradas correctas en [base de datos]

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

En la mayoría de los casos, las personas cometen errores al configurar los ajustes anteriores. En caso de que las credenciales de MySQL para keystone sean incorrectas, debería ver un mensaje de error (/var/log/keystone/keystone.log) como el que se muestra a continuación.

OperationalError: (OperationalError) (2005, "Unknown MySQL server host 'controller' (1)") None None
  • Compruebe si la base de datos Keystone contiene las tablas necesarias :Esta podría ser una de las razones. Por ejemplo, mientras configuraba keystone, ¿creó tablas para la base de datos keystone? Para verificar, inicie sesión en mysql como se indica a continuación.
#mysql -u keystone -p
mysql>use keystone
mysql>show tables

Si no encuentra tablas en la base de datos Keystone, debe crearla primero. En este caso, debería ver el error correspondiente en el archivo /var/log/keystone/keystone.log. El error de muestra se publica a continuación:

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

En caso de que vea el error anterior, cree tablas para la base de datos Keystone usando el siguiente comando.

# keystone-manage db_sync keystone

Ahora verifique si las tablas se crean en la base de datos 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)

Ahora intente crear un usuario administrador ejecutando el siguiente comando

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

CRITICAL keystone [-] ConfigFileNotFound:El archivo de configuración de Keystone keystone-paste.ini no se pudo encontrar

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

Solución:

Como dice el mensaje de error, verifique si keystone-paste.ini el archivo existe y está identificado correctamente por keystone.conf archivo.

Abra /etc/keystone/keystone.conf y ver si ‘config_file ' se refiere al archivo keystone-paste.ini.

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

Intente iniciar el servicio de nuevo.

#service openstack-keystone start

Es posible que también desee leer: Lista de errores comunes (y soluciones) al instalar y configurar OpenStack Nova ServiceServicio Glance

Y la bonificación está aquí...

    ¡Descargue el libro electrónico gratuito sobre la instalación de OpenStack Icehouse! ¡Descargue la hoja de referencia de la interfaz de línea de comandos de OpenStack! – Comandos más utilizados

Linux
  1. Cómo reparar el error de óxido "linker 'cc' no encontrado" en Linux

  2. Cómo reparar el error "gpg:keyserver receive fail:No dirmngr"

  3. Cómo corregir un error de Comando no encontrado en Linux

  4. Cómo solucionar el error de configuración:no se puede encontrar el directorio de macros 'm4' [Resuelto]

  5. Cómo corregir - Error de Apache:¿No hay un índice de directorio coincidente?

Cómo corregir el error de conversión con Calibre

Cómo reparar el error Busybox Initramfs en Ubuntu

Cómo reparar el error de falta de Flash Player en Midori [Consejo rápido]

Cómo arreglar las conexiones de los trabajadores no son suficientes errores en Nginx

Cómo solucionar el error 403

Cómo arreglar un error de conexión a la base de datos