SQLAlchemy Version Requirement Unmet - RPC 10.1.2rc1

Bug #1418320 reported by Byron McCollum
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Wishlist
Kevin Carter

Bug Description

RPC 10.1.2rc1

# Run 'OpenStack - Nova All' Playbook
ansible-playbook -e @/etc/rpc_deploy/user_variables.yml playbooks/openstack/nova-all.yml

...
 _________________________________________________
< TASK: openstack_common | Install service source >
 -------------------------------------------------

failed: [compute1] => {"ansible_job_id": "245511329403.19206", "attempts": 5, "changed": false, "cmd": "/usr/local/bin/pip install /opt/nova_2014.2.1", "failed": true, "finished": 1}
msg: Task failed as maximum retries was encountered
failed: [compute2] => {"ansible_job_id": "245511329403.19325", "attempts": 5, "changed": false, "cmd": "/usr/local/bin/pip install /opt/nova_2014.2.1", "failed": true, "finished": 1}
msg: Task failed as maximum retries was encountered
<job 245511329403.19206> FAILED on compute1
<job 245511329403.19325> FAILED on compute2

...

Manually running PIP install:

root@compute1:/opt# /usr/local/bin/pip install /opt/nova_2014.2.1
Ignoring indexes: https://pypi.python.org/simple
Processing ./nova_2014.2.1
    [pbr] Processing SOURCES.txt
    warning: LocalManifestMaker: standard file '-c' not found
    [pbr] In git context, generating filelist from git
Requirement already up-to-date: pbr!=0.7,<1.0,>=0.6 in /usr/local/lib/python2.7/dist-packages (from nova==2014.2.1)
Collecting SQLAlchemy<=0.8.99,<=0.9.99,>=0.8.4,>=0.9.7 (from nova==2014.2.1)
  Could not find a version that satisfies the requirement SQLAlchemy<=0.8.99,<=0.9.99,>=0.8.4,>=0.9.7 (from nova==2014.2.1) (from versions: 0.9.8)
  No distributions matching the version for SQLAlchemy<=0.8.99,<=0.9.99,>=0.8.4,>=0.9.7 (from nova==2014.2.1)

summary: - SQLAlchemy Version Requirement Unmet - Nova 2014.2.1
+ SQLAlchemy Version Requirement Unmet - RPC 10.1.2rc1
Revision history for this message
Byron McCollum (byron-mccollum) wrote :

Neutron too...

# Run 'OpenStack - Neutron All' Playbook
ansible-playbook -e @/etc/rpc_deploy/user_variables.yml playbooks/openstack/neutron-all.yml

Revision history for this message
Ian Cordasco (icordasc) wrote :

Did we not pin pip 1.5.6 for the 10.x branch?

Ian Cordasco (icordasc)
Changed in openstack-ansible:
importance: Undecided → Critical
Revision history for this message
Byron McCollum (byron-mccollum) wrote :

OK, little more information. Part of my host system bootstrapping is upgrading PIP (to 6.0.7 in this case). Installing the requirements.txt on the Ansible Master (infra1) downgrades PIP to 1.5.6. Since some Compute services aren't containerized (which would receive PIP 1.5.6 inside the container), the version installed on the host is used, which ends up being 6.0.7.

Revision history for this message
Byron McCollum (byron-mccollum) wrote :

Actually, whichever version of PIP that ships inside the container image would be used. The only places that appears to specify a PIP version would be wherever you run your playbooks from.

Should the requirements.txt be install on ALL hosts?

Changed in openstack-ansible:
milestone: none → 10.1.2
tags: added: juno-backport-potential
Revision history for this message
Kevin Carter (kevin-carter) wrote :

If I understand this correctly this does not seem to be a bug with 10.1.2rc1 but rather the host bootstrap process being used before deploying the ansible bits. Is that corret @byron-mccollum? Sadly OpenStack 2014.2.1 is incompatible with pip 6+ due to various issues in upstream requirements.

Pip 1.5.6 is pinned for "10.1.2rc1" and one way to fix this issue is to downgrade pip across all hosts. To do this you can run the following: ansible hosts -m shell -a 'pip uninstall pip; python /opt/get-pip.py --find-links="http://mirror.rackspace.com/rackspaceprivatecloud/python_packages/10.1.2rc1" --no-index'

Revision history for this message
Byron McCollum (byron-mccollum) wrote :

That appears to be the case. Already manually downgraded, and changed our bootstrap process to not use the PIP 6 series.

If there is such a hard requirement for which version of PIP must be install across all hosts, should that be codified somehow in either the documentation, or as part of the host setup plays?

The only reference to installing PIP 1.5.6 is for the Ansible Master...

Revision history for this message
Kevin Carter (kevin-carter) wrote :

This is a good point, we should update documentation regarding the hard pip requirement for Juno.

Changed in openstack-ansible:
importance: Critical → Wishlist
assignee: nobody → Kevin Carter (kevin-carter)
status: New → Confirmed
tags: added: impacts-doc
Revision history for this message
Matt Kassawara (ionosphere80) wrote :

Fixed in installation guide v9 and v10.

Changed in openstack-ansible:
status: Confirmed → Fix Committed
Changed in openstack-ansible:
status: Fix Committed → Fix Released
no longer affects: openstack-ansible/juno
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.