It looks like installing python-crypto before doing the "pip install
zuul" satisfies it's dependency:
Requirement already satisfied (use --upgrade to upgrade):
pycrypto!=2.4,<3.0,>=2.1 in /usr/lib64/python2.7/site-packages (from
paramiko<2.0.0,>=1.8.0->zuul)
I submitted a fix to software-factory [1] and backported to review.rdo [2].
or RPM package zuul-cloner
Or package Zuul itself !? :)
[1]:
http://softwarefactory-project.io/r/#/c/4626/
[2]:
https://review.rdoproject.org/r/#/c/1904/
David Moreau Simard
Senior Software Engineer | Openstack RDO
dmsimard = [irc, github, twitter]
On Mon, Aug 22, 2016 at 5:18 PM, Haïkel <hguemar(a)fedoraproject.org> wrote:
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]
>