[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