[OpenStack-Infra] Shade on Python 2.7 in Ubuntu fails due to UCS2 problem

Clark Boylan cboylan at sapwetik.org
Tue Feb 13 17:04:26 UTC 2018



On Tue, Feb 13, 2018, at 8:58 AM, Amir Hadi wrote:
> Hi,
> 
> we use the OpenStack Ansible Plugin, which depends on shade. The 
> installed shade version is `shade==1.26.0`. Our ansible setup is in a 
> docker images, which comes from `ubuntu:16.04`.
> 
> Our deployment fails, because the openstack plugin reports the following:
> /home/builder/epoch/deployment/ansible/inventory/openstack.yml with openstack
> plugin: shade is required for the OpenStack inventory plugin. OpenStack
> inventory sources will be skipped.
> 
> Then I fired up the python shell to `import shade` which results in the 
> following error:
> >>> import shade
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/home/builder/ansible_deploy/local/lib/python2.7/site-packages/
> shade/__init__.py", line 24, in <module>
>     from shade.openstackcloud import OpenStackCloud
>   File "/home/builder/ansible_deploy/local/lib/python2.7/site-packages/
> shade/openstackcloud.py", line 46, in <module>
>     from shade import _legacy_clients
>   File "/home/builder/ansible_deploy/local/lib/python2.7/site-packages/
> shade/_legacy_clients.py", line 18, in <module>
>     from shade import _utils
>   File "/home/builder/ansible_deploy/local/lib/python2.7/site-packages/
> shade/_utils.py", line 20, in <module>
>     import netifaces
> ImportError: /home/builder/ansible_deploy/local/lib/python2.7/site-
> packages/netifaces.so: undefined symbol: PyUnicodeUCS2_FromString
> 
> It looks like this is a problem with different ABIs (see 
> https://stackoverflow.com/questions/31644056/is-python-2-7-wide-build-usc4-not-compatible-with-certain-libraries). 
> Our Python seems to be compiled to use UCS4:
> >>> import sys
> >>> print sys.maxunicode
> 1114111
> 
> Any ideas how to resolve this?
> 
> Best regards,
> Amir Hadi
> 
> PS: It’s been a while that I have used mailing lists, I hope the 
> formatting of this message is ok.

The problem is in the upstream netifaces package and is being tracked at https://github.com/al45tair/netifaces/issues/2. Until that is fixed you can install netifaces without using wheels to avoid this problem.

Something like `pip install --force-reinstall --upgrade --no-binary netifaces`

Hope this helps,
Clark



More information about the OpenStack-Infra mailing list