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?
- 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.
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 Service y Servicio Glance