We are maintaining ansible dependencies in requirements.txt

Bug #1580777 reported by Stephane Miller
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bifrost
Won't Fix
High
Stephane Miller

Bug Description

We're seeing the following error in our gate checks:

+ ansible-playbook -vvvv -i inventory/localhost test-bifrost-create-vm.yaml --syntax-check --list-tasks
Unexpected Exception: The 'pycrypto>=2.6' distribution was not found and is required by ansible

This is a side effect of how we install ansible by default. Currently, we clone the ansible repository, and use its hacking/env-setup script to set up the environment to run ansible from the checkout. This means that ansible's dependencies do not get installed, as they would if we installed ansible from pip. This also preserves the user's existing ansible installation on the system - useful if they have a different version they wish to keep, etc.

We have been maintaining ansible's dependencies in our requirements.txt but this is perhaps not an ideal way to proceed, particularly as ansible continues to add dependencies. However, in the short term, we don't want to change things abruptly for the user.

We should address this in the short term by adding the pycrypto dependency, but revisit this and opt either to pip install ansible for the user if a suitable version is not present, handle dependency installation in our env-setup.sh bootstrapping script, or another solution TBD.

summary: - Gate is broken due to missing pycrypto dependency
+ We are maintaining ansible dependencies in requirements.txt
description: updated
Revision history for this message
Stephane Miller (stephaneeee) wrote :

Downgraded importance now that we've landed a temporary fix to get the gate unwedged.

Changed in bifrost:
importance: Critical → High
Revision history for this message
Stephane Miller (stephaneeee) wrote :

https://review.openstack.org/#/c/315213/ is the requirements change referred to above.

Revision history for this message
Stephane Miller (stephaneeee) wrote :

Speaking with Julia on this matter, I feel like we may already be taking the best approach to this problem. The way to solve it would be to add ansible as a requirement, which would require adding it to the global requirements list. There are several other projects under OpenStack's 'big tent' which use ansible, and all proceed along similar lines to our current practices. Perhaps at a later date, projects which use ansible can standardize on a version, but given the current flux in ansible I think what we are doing is fine for now.

Changed in bifrost:
status: New → Won't Fix
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.