pip2 fails to install pkgs requiring python3 (dnspython3, mypy, etc)

Bug #1760574 reported by Jun Go
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Critical
Unassigned

Bug Description

I cloned the stable/pike branch from Openstack-Ansible onto a server running Ubuntu 16.04. When running "openstack-ansible -vvv setup-hosts.yml" the installation fails during the pip_install role.

Looking at the debugging output I can see that the actual command being run is:

/usr/local/bin/pip2 http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?id=6ea2d17f0a90985aa05c809c3e536abb7ea74b60 jsbeautifier hyperframe cssutils kaitaistruct tornado ruamel.yaml html2text dnspython3 hpack brotlipy mypy urwid argh blinker typed-ast h3 mitmproxy EditorConfig watchdog backports-abc pathtools sortedcontainers

With the exception of dnspython3, mypy, and typed-ast (which all require Python3), all the other python2 packages install just fine using pip2.

When I manually install python3-pip, I am able to install dnspython3, mypy, and typed-ast using pip3, but the pip_install role keeps failing because it is using pip2.

Thanks

Jun Go (gojun077)
summary: - pip2 fails to install pkgs requiring python3 (dnspython3, my, etc)
+ pip2 fails to install pkgs requiring python3 (dnspython3, mypy, etc)
description: updated
Revision history for this message
Sergio Morant (smorant) wrote :

I'm experiencing the very same problem. First time I did experience the bug was on march the 30th with a Pike deployment (16.0.9). As Queens has just been released, I decided to give it a try this morning in Queens but I get stuck on the very same step.

The strange thing is that this was perfectly working previously (pike). I have checked the requirements git repository at http://git.openstack.org/cgit/openstack/requirements/, but the latest changes do not seem to be related to the issue.
On the other hand the openstack deployment guide at https://docs.openstack.org/project-deploy-guide/openstack-ansible/queens/overview.html#installation-requirements-and-recommendations only identify python 2.7 as requirement, which is inline to the fact of using pip2 for the requirement installation. Shouldn't figure python 3.4/3.5 also as requirement ?

Best regards
Sergio

Revision history for this message
Thomas Hanselman (thomas-hanselman) wrote :

I, too, ran into the problem. The error message is somewhat misleading as the actual problem is buried down in the actual command that the Ansible pip module executed.

If you look at the command the module executed, it is something like "pip2 install --constraints <constraint> --constraints <constraints> ". If you look closely at the comment, you'll note that it actually isn't installing ANY modules.

Digging into the role in github lead to this commit: https://github.com/openstack/openstack-ansible-pip_install/commit/1dfc0599f28989a614a978bd1c9e842c4687e9e7#diff-2cb1ad4f3eb0ea704c74a73689ad1654

There was an upstream change to pip that was causing this problem. Once you get the updated role, things should start working better.

--Thomas

Revision history for this message
Jean-Philippe Evrard (jean-philippe-evrard) wrote :

We are issuing a release that fixes this bug, and should land very soon.

Changed in openstack-ansible:
importance: Undecided → Critical
status: New → Fix Committed
Revision history for this message
Ondrej Vasko (ondrej.vasko) wrote :

And what is hotfix for this issue?

Changed in openstack-ansible:
status: Fix Committed → Fix Released
Revision history for this message
Ondrej Vasko (ondrej.vasko) wrote :

So for others, fix for Queens is not yet in release (17.0.7), only in stable/queens.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.