GNU/Linux >> Tutoriales Linux >  >> Linux

Lista de los errores (y soluciones) más comunes al instalar OpenStack Image Service VISTAZO

Recientemente estaba instalando OpenStack Icehouse para uno de mis proyectos siguiendo la documentación oficial de openstack.org. Durante la instalación del servicio de imágenes (Glance) en el nodo del controlador, tuve algunos errores. Después de buscar en Google durante unos minutos, pude arreglarlos.

La mayoría de esos errores ocurrieron durante la configuración de la base de datos de vistazo (normalmente se denomina sincronización de la base de datos de vistazo), el registro del servicio de vistazo con Keystone y al iniciar glance-api servicio y vistazo-registro Servicio. También hubo algunos errores de dependencia, que no voy a escribir en este artículo. Con suerte, intentaré cubrirlos en otro artículo.

Por ahora, aquí está la lista de errores que encontré durante la instalación y configuración de Glance.

Error cuando se ejecutó 'glance-manage db_sync look'

Aquí está la instantánea del error:

$ glance-manage db_sync glance
/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
2015-02-03 22:00:02.848 8671 CRITICAL glance [-] DbMigrationError: version should be an integer

Solución:
Esto tiene algo que ver con la versión de GMP instalada. Como puede ver en el error anterior, PyCrypto necesita la versión libgmp> =5 . Para solucionar esto, siga los pasos a continuación:

Descargar e instalar gmp-6.0.0.a

 $ bunzip2 gmp-6.0.0a.tar.bz2
 $ tar xvf gmp-6.0.0a.tar
 $ cd gmp-6.0.0a.tar
 $ ./configure
 $ make
 $ make check
 $ make install

Ahora tiene instalada la versión correcta de GMP y con estas bibliotecas puede instalar PyCrypto. Para hacerlo, ejecute el siguiente comando.

$ pip install --ignore-installed PyCrypto

Una vez que PyCrpto esté instalado, puede volver a intentar sincronizar la base de datos de Glance.

ImportError:/usr/lib64/python2.6/site-packages /Crypto/Cipher/_AES.so:símbolo indefinido:rpl_malloc

Cuando ‘vistazo-administrar db_sync vistazo ' ejecutado, recibí el siguiente mensaje de error:

$ glance-manage db_sync glance
su -s /bin/sh -c "glance-manage db_sync" glance
Traceback (most recent call last):
  File "/usr/bin/glance-manage", line 6, in 
    from glance.cmd.manage import main
  File "/usr/lib/python2.6/site-packages/glance/cmd/manage.py", line 45, in 
    from glance.db import migration as db_migration
  File "/usr/lib/python2.6/site-packages/glance/db/__init__.py", line 21, in 
    from glance.common import crypt
  File "/usr/lib/python2.6/site-packages/glance/common/crypt.py", line 23, in 
    from Crypto.Cipher import AES
  File "/usr/lib64/python2.6/site-packages/Crypto/Cipher/AES.py", line 50, in 
    from Crypto.Cipher import _AES
ImportError: /usr/lib64/python2.6/site-packages/Crypto/Cipher/_AES.so: undefined symbol: rpl_malloc

Solución:

Anteriormente, solucionamos el error libgmp, PyCrypto instalando GMP versión 6.0.0.a y pip install PyCrypto. Pero eso no funcionó como se esperaba. Parece que PyCrypto debe volver a compilarse desde la fuente y no debe instalarse a través de pip.

Descargue la última versión de PyCrypto y vuelva a compilar

Descomprima PyCrypto y establezca la siguiente variable de entorno.

$ export ac_cv_func_malloc_0_nonnull=yes

Configurar, compilar e instalar

$ ./configure
$ python setup.py build
$ python setup.py install

Una vez que PyCrypto esté instalado, pruebe 'glance-manage db_syncATCH ' de nuevo.

Error: ValueError:las tablas "migrate_version" tienen una intercalación que no es utf8 , asegúrese de que todas las tablas sean CHARSET=utf8

# su -s /bin/sh -c “vistazo-administrar db_sync” vista

Nota:Cada vez que sincronice la base de datos para cualquier servicio, asegúrese de que se creen las tablas correspondientes. Por ejemplo, cuando sincronicé la base de datos 'vistazo' usando el comando anterior, no se crearon tablas excepto 'migrate_version' y el registro de errores se informó como se muestra en el título de este párrafo.

mysql> show tables;
+------------------+
| Tables_in_glance |
+------------------+
| migrate_version  |
+------------------+
1 row in set (0.00 sec)

Solución:

Inicie sesión en la base de datos mysql como se muestra a continuación:

$ mysql -u root -p
mysql > use glance
mysql > alter table migrate_version convert to character set utf8 collate utf8_unicode_ci;

Ahora, intente "db_sync" nuevamente.

mysql> show tables;
+------------------+
| Tables_in_glance |
+------------------+
| image_locations  |
| image_members    |
| image_properties |
| image_tags       |
| images           |
| migrate_version  |
| task_info        |
| tasks            |
+------------------+
8 rows in set (0.00 sec)

Error:CRÍTICO vistazo [-] DbMigrationError:la versión debe ser un entero

Todavía me quedaron algunos errores al sincronizar la base de datos de Glance.

$ glance-manage db_sync glance
/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
2015-02-04 09:46:14.847 13116 CRITICAL glance [-] DbMigrationError: version should be an integer

Solución:

En lugar de ejecutar 'glance-manage ‘ con dos argumentos, pruebe con un argumento ‘db_sync solo.

# glance-manage db_sync

Funcionó para mí.

Error:Esperando una URL de autenticación a través de –os-auth-url o env [OS_AUTH_URL

$ keystone user-create --name=glance --pass=<glance_password> --email=<admin_email>
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL

Solución: Probablemente las URL de autenticación de OpenStack no estén configuradas. Intente configurar las siguientes variables de entorno.

export OS_USERNAME=admin
export OS_PASSWORD=keystone_password
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://controller.node.in:35357/v2.0

Una vez que las variables anteriores estén configuradas en su shell, intente registrar el servicio de vistazo en Keystone nuevamente. Funcionó para mí.

$ keystone user-create --name=glance --pass=glance_password --email=admin_email
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL

You should see table like the one below
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |          admin_email             |
| enabled  |               True               |
|    id    | c8c0212a16084a65469609c857914f8c |
|   name   |              glance              |
| username |              glance              |
+----------+----------------------------------+

Error al iniciar el servicio de vistazo-api

$ service openstack-glance-api start [FAILED]

El registro de errores /var/log/glance/openstack-glance-api-startup.log reveló el siguiente mensaje:

Error al configurar la tienda correctamente:el sistema de archivos de la tienda no se pudo configurar correctamente. Motivo:especifique al menos la opción 'filesystem_store_datadir' o 'filesystem_store_datadirs' Deshabilitar el método de agregar.

Solución:

  • Abra glance-api.conf expediente. Debe estar ubicado en /etc/glance/glance-api.conf
  • Cuidado con 'filesystem_store_datadir ' y establezca '/var/lib/glance/images/ como valor. Si ya está configurado y comentado, simplemente descoméntelo.
  • Intente iniciar el servicio.

Error: No se puede ubicar el archivo de configuración de pegado para look-api

$ service openstack-glance-api start [FAILED]

Solución:

  • Abra glance-api.conf expediente. Debe estar ubicado en /etc/glance/glance-api.conf
  • Busque la línea con el texto "pegar archivo de configuración" y elimine el comentario de la siguiente líneaconfig_file=/usr/share/glance/glance-api-dist-paste.ini
  • Intente iniciar el servicio de nuevo.

Vistazo CRÍTICO [-] UnicodeError:los objetos de mensaje no admiten str() porque pueden contener caracteres que no sean ASCII. Utilice unicode() o translate() en su lugar.

$ service openstack-glance-registry start [FAILED]

El archivo de registro ‘/var/log/glance/openstack-glance-registry-startup.log ' reveló el siguiente mensaje:

Solución:

El error ocurrió en el archivo '/usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py ' que generaba 'UnicodeError '. Encontrará más información sobre el error aquí.

Para solucionar el problema.

1. Vaya a este enlace y copie el archivo 'gettextutils.py' modificado.
2. Realice una copia de seguridad del gettextutils.py existente archivo como se muestra a continuación

cp /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py.bak

3. Reemplace el archivo 'gettextutils.py ‘ con el copiado del paso 1.
4. Inicie el servicio de registro de vistazo como se muestra a continuación:

$ service openstack-glance-registry start

Nota:Si el comando anterior falla con un error de sintaxis, probablemente copió algunos caracteres no deseados mientras copiaba el script gettextutils.py modificado en el paso 1. Por ejemplo, el archivo copiado contenía algunos caracteres como '[docs] '. Para solucionar el problema, abra 'gettextutils.py ', busque y elimine esos caracteres no deseados. Guarde el archivo y vuelva a iniciar el servicio de registro de vistazo.

En caso de que el servicio no se inicie, busque el nuevo mensaje de error en el archivo de registro.

# tailf /var/log/glance/openstack-glance-registry-startup.log
Traceback (most recent call last):
  File "/usr/bin/glance-registry", line 6, in <module>
    from glance.cmd.registry import main
  File "/usr/lib/python2.6/site-packages/glance/cmd/__init__.py", line 17, in <module>
    gettextutils.install('glance', lazy=True)
TypeError: install() got an unexpected keyword argument 'lazy'

Para corregir el error anterior:

$vim /usr/lib/python2.6/site-packages/glance/cmd/__init__.py

y busque la función ' gettextutils.install('glance', lazy=True) ' y reemplácelo con el siguiente:

 gettextutils.install('glance')

guarde el archivo e intente iniciar el servicio de registro de vistazo.

ERROR:No se pudo ubicar el archivo de configuración de pegado para el registro de vistazo.

# service openstack-glance-registry start
 Starting openstack-glance-registry:                        [FAILED]

El archivo de registro reveló el siguiente error:

# tailf /var/log/glance/openstack-glance-registry-startup.log
ERROR: Unable to locate paste config file for glance-registry.

Solución:

  • Abra 'vim /etc/glance/glance-registry.conf ' y busque la línea con el texto 'pegar archivo de configuración'.
  • Elimine el comentario de 'config_file'. Por ejemplo:'config_file=/usr/share/glance/glance-registry-dist-paste.ini ' e intente iniciar el servicio de nuevo. Funcionó para mí.

Advertencia de desuso:el paquete de espacio de nombres de oslo está en desuso. Utilice oslo_config en su lugar. desde oslo.config importar cfg

Solución: Abra los siguientes archivos uno por uno y reemplace 'oslo.config ' con 'oslo_config ' y guardarlo. (Tenga en cuenta que el punto se reemplaza con un guión bajo)

/usr/lib/python2.6/site-packages/glance/openstack/common/log.py
/usr/lib/python2.6/site-packages/glance/common/wsgi.py:37
/usr/lib/python2.6/site-packages/oslo_config/cfg.py:333
/usr/lib/python2.6/site-packages/oslo_config/cfg.py:333
/usr/lib/python2.6/site-packages/glance/common/config.py:26
/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py:22

Intente iniciar el servicio y vea si recibe esas advertencias.

Espero que estos hallazgos puedan ayudar a alguien. ¿Tienes alguna sugerencia? Por favor, comparte conmigo en el cuadro de comentarios a continuación.

También te puede interesar :Soluciones para errores de instalación de Keystone de OpenStack

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 administrar y enumerar servicios en Linux

  2. Cómo instalar y configurar Dovecot

  3. Instalación y configuración de Grafana en Linux

  4. Yum error al instalar MongoDB en CentOS?

  5. Instalación y uso de XeTeX

Cómo cargar y descargar imágenes de la nube en OpenStack

Conceptos básicos de Raspberry Pi:instalar Raspbian y ponerlo en funcionamiento

Instalación y configuración de Jenkins en Linux

La historia, la comunidad y 7 de sus proyectos principales de OpenStack

Problemas comunes del servidor y soluciones

Errores comunes en Yum en CentOS, RHEL o Fedora