Pedro Jiménez's Blog

Un blog de muchas inquietudes

Ubuntu Python-keystoneclient Dependency Error

| Comments

Después de tener la infraestructura completa y funcional, nos encontramos ayer con un extraño error que no nos permitía el uso de Glance para poder hacer un “upload” de las imágenes. Nos encontramos con un error de dependencias en uno de los paquetes necesarios en la invocación de Glance.

Buscando algo más de información vemos que con la paquetería actual se llega a un error de versionado en el paquete python-keystoneclient y no permite que glance se ejecute.

root@controller:~# glance index
Traceback (most recent call last):
File "/usr/bin/glance", line 5, in 
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2711, in 
parse_requirements(__requires__), Environment()
 File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: python-keystoneclient>=0.1.2,<0.2
          
root@controller:~# glance image-list
Traceback (most recent call last):
File "/usr/bin/glance", line 5, in 
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2711, in 
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: python-keystoneclient>=0.1.2,<0.2

AYUDA: Contactamos con nuestro Mcgyver personal, Gracias @achilued por la ayuda para ver la luz :)


Lo primero vamos a comprobar con qué versión de paquetería contamos, tanto de los paquetes principales como de los auxiliares.

root@controller:~# dpkg -l | egrep 'nova|glance|python-keystone'
ii  glance                           2012.2.2+git201211300731~precise-0ubuntu1            OpenStack Image Registry and Delivery Service - Daemons
ii  glance-api                       2012.2.2+git201211300731~precise-0ubuntu1            OpenStack Image Registry and Delivery Service - API
ii  glance-common                    2012.2.2+git201211300731~precise-0ubuntu1            OpenStack Image Registry and Delivery Service - Common
ii  glance-registry                  2012.2.2+git201211300731~precise-0ubuntu1            OpenStack Image Registry and Delivery Service - Registry
ii  nova-api-ec2                     2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - EC2 API frontend
rc  nova-api-metadata                2012.2+git201210091907~precise-0ubuntu1              OpenStack Compute - metadata API frontend
ii  nova-api-os-compute              2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - OpenStack Compute API frontend
rc  nova-api-os-volume               2012.2+git201210091907~precise-0ubuntu1              OpenStack Compute - OpenStack Volume API frontend
ii  nova-cert                        2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - certificate management
ii  nova-common                      2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - common files
ii  nova-consoleauth                 2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - Console Authenticator
ii  nova-novncproxy                  2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - NoVNC proxy
ii  nova-scheduler                   2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute - virtual machine scheduler
rc  nova-volume                      2012.2+git201210091907~precise-0ubuntu1              OpenStack Compute - storage
ii  python-glance                    2012.2.2+git201211300731~precise-0ubuntu1            OpenStack Image Registry and Delivery Service - Python library
ii  python-glanceclient              1:0.5.1.8.cdc06d9+git201210051430~precise-0ubuntu1   Client library for Openstack glance server.
ii  python-keystone                  2012.2.2+git201212061213~precise-0ubuntu1            OpenStack identity service - Python library
ii  python-keystoneclient            1:0.2.0.1.ge4ed1f3+git201211221523~precise-0ubuntu1  Client library for OpenStack Identity API
ii  python-nova                      2012.2.2+git201212111304~precise-0ubuntu1            OpenStack Compute Python libraries
ii  python-novaclient                1:2.9.0.49.gdc6285c+git201211221531~precise-0ubuntu1 client library for OpenStack Compute API

Vemos un apunte clarísimo y es que la versión del paquete python-keystoneclient es efectivamente superior a 0.2 , más concretamente se encuentra instalada la vesión 0.2.0.1 que al no cumplir con las exigencias del paquete Glance nos expulsa de su ejecución. Vamos a tirar un poco del hilo para ver si podemos arreglar este entuerto.

PASO 1: Se buscan las dependencias que tiene Glance y encontramos el directorio donde se aloja el cliente.

1
2
3
4
5
6
7
8
9
10
11
12
$ root@controller:~# cat /usr/bin/glance

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'python-glanceclient==0.5.1.8.cdc06d9','console_scripts','glance'
__requires__ = 'python-glanceclient==0.5.1.8.cdc06d9'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
            load_entry_point('python-glanceclient==0.5.1.8.cdc06d9', 'console_scripts', 'glance')()
          )

PASO2: Dentro de dicho directorio editamos el fichero con las dependecias y se elimina la superior del paquete python-keystoneclient.

RUTA: /usr/lib/python2.7/dist-packages/python_glanceclient-0.5.1.8.cdc06d9.egg-info/requires.txt 

CAMBIAMOS:
prettytable>=0.6,<0.7
python-keystoneclient>=0.1.2,<0.2
warlock<2

POR:
prettytable>=0.6,<0.7
python-keystoneclient>=0.1.2
warlock<2

PASO3: Comprobamos que Glance vuelve a operar con normalidad.

1
2
3
4
$ glance index
ID                                   Name                           Disk Format          Container Format     Size          
------------------------------------ ------------------------------ -------------------- -------------------- --------------
de4bdf11-5b5e-4ca7-a29c-2c38ebe07697 cirros-image                   qcow2                bare                        9761280

Más información: https://bugs.launchpad.net/openstack-manuals/+bug/1064449

Comments