On 22/08/16 22:44, David Moreau Simard wrote:
Hi,
I'm noticing an issue in the review.rdo gate.
We pip install zuul in the nodepool images (presumably for
zuul-cloner) which pulls in Paramiko which pulls pycrypto:
Collecting pycrypto!=2.4,<3.0,>=2.1 (from paramiko<2.0.0,>=1.8.0->zuul)
It looks like if we install crypto from both pip and packages, we're
bound to be running into issues like that:
====
Error: /Stage[main]/Glance/Package[openstack-glance]/ensure: change
from absent to present failed: Execution of '/bin/yum -d 0 -e 0 -y
install openstack-glance' returned 1: Error downloading packages:
1:openstack-glance-13.0.0-0.20160817133141.bfe4d91.el7.centos.noarch:
[Errno 256] No more mirrors to try.
Error: Execution of '/bin/yum -d 0 -e 0 -y install
openstack-barbican-api' returned 1: Error unpacking rpm package
python-crypto-2.6.1-1.el7.x86_64
====>>>>
error: unpacking of archive failed on file
/usr/lib64/python2.7/site-packages/pycrypto-2.6.1-py2.7.egg-info:
cpio: rename failed - Is a directory
====
<<<<==== This is a known RPM/CPIO issue, and in this case, not a packaging
bug.
Reproduced here [1] on a fresh CentOS install with:
1 yum -y install "@Development Tools" python-devel openssl-devel
libffi-devel libxml2-devel python-setuptools python-crypto
2 yum -y remove python-crypto
3 easy_install pip
4 pip install pycrypto
5 yum -y install python-crypto
*fresh* as in no Cloud SIG repository?
In that case, this is totally expected behaviour because of setuptools
versions difference.
Not mentionning, that mixing packages and pip-installed modules in
system site-packages is not supported.
Please check setuptools versions, note that we ship a more recent
setuptools in Cloud SIG repositories.
I am unable to reproduce the issue on Fedora.
CentOS extras (and RDO) has python-crypto-2.6.1-1.el7.centos.x86_64
(2014) while Fedora has python-crypto-2.6.1-10.fc24 (2016).
$ rpm -qi python2-crypto
Name : python2-crypto
Version : 2.6.1
Release : 10.fc24
Architecture: x86_64
Install Date: Wed 09 Mar 2016 13:16:13 CET
$ sudo pip install pycrypto
Requirement already satisfied (use --upgrade to upgrade): pycrypto in
/usr/lib64/python2.7/site-packages
pip is able to detect that pycrypto is already installed from package.
Can we update the version we have in RDO ? Or is there some other
root
cause I'm missing ?
For the record, I also diffed 2.6.1-1 and 2.6.1-10 and the main changes are:
* python3 port (irrelevant for us)
* unbundling libtomcrypt which may be a good reason for rebuilding it
in RDO but irrelevant to your issue.
But again, it won't solve that particular issue. Better fix would be
using virtualenv for zuul-cloner.
Regards,
H.
[1]:
http://pastebin.centos.org/52006/raw/
David Moreau Simard
Senior Software Engineer | Openstack RDO
dmsimard = [irc, github, twitter]