Bug 1137026

Summary: Fails to install on CentOS6
Product: [Fedora] Fedora EPEL Reporter: Dan Benson <dan>
Component: docker-registryAssignee: Lokesh Mandvekar <lsm5>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el6CC: lsm5, mgoldman
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: docker-registry-0.8.1-2.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-25 10:33:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dan Benson 2014-09-03 21:21:01 UTC
Description of problem:

Fails to install on AWS Linux (2014.03) and Centos6

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. clean centos6 install
2. yum install docker-registry
3.

Actual results:

Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@localhost ~]# yum install docker-registry
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.hmc.edu
 * epel: mirrors.kernel.org
 * extras: mirror.steadfast.net
 * updates: mirror.anl.gov
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package docker-registry.noarch 0:0.7.1-2.el6 will be installed
--> Processing Dependency: redis for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-sqlalchemy for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-simplejson for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-rsa for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-requests for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-redis for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-keystoneclient for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-jinja2 for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-importlib for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-gunicorn for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-glanceclient for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-gevent for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-flask for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-boto for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-blinker for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-backports-lzma for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: PyYAML for package: docker-registry-0.7.1-2.el6.noarch
--> Running transaction check
---> Package PyYAML.x86_64 0:3.10-3.el6 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: PyYAML-3.10-3.el6.x86_64
---> Package docker-registry.noarch 0:0.7.1-2.el6 will be installed
--> Processing Dependency: python-keystoneclient for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-glanceclient for package: docker-registry-0.7.1-2.el6.noarch
---> Package python-backports-lzma.x86_64 0:0.0.2-5.el6 will be installed
--> Processing Dependency: python-backports for package: python-backports-lzma-0.0.2-5.el6.x86_64
---> Package python-blinker.noarch 0:1.1-1.el6 will be installed
---> Package python-boto.noarch 0:2.27.0-1.el6 will be installed
---> Package python-flask.noarch 1:0.9-7.el6 will be installed
--> Processing Dependency: python-werkzeug for package: 1:python-flask-0.9-7.el6.noarch
--> Processing Dependency: python-jinja2-26 for package: 1:python-flask-0.9-7.el6.noarch
---> Package python-gevent.x86_64 0:0.13.8-3.el6 will be installed
--> Processing Dependency: python-greenlet for package: python-gevent-0.13.8-3.el6.x86_64
--> Processing Dependency: libevent-1.4.so.2()(64bit) for package: python-gevent-0.13.8-3.el6.x86_64
---> Package python-gunicorn.noarch 0:18.0-1.el6 will be installed
--> Processing Dependency: python-setuptools for package: python-gunicorn-18.0-1.el6.noarch
---> Package python-importlib.noarch 0:1.0.2-1.el6 will be installed
---> Package python-jinja2.x86_64 0:2.2.1-2.el6_5 will be installed
--> Processing Dependency: python-babel >= 0.8 for package: python-jinja2-2.2.1-2.el6_5.x86_64
---> Package python-redis.noarch 0:2.0.0-1.el6 will be installed
---> Package python-requests.noarch 0:1.1.0-4.el6 will be installed
--> Processing Dependency: python-urllib3 for package: python-requests-1.1.0-4.el6.noarch
--> Processing Dependency: python-ordereddict for package: python-requests-1.1.0-4.el6.noarch
--> Processing Dependency: python-chardet for package: python-requests-1.1.0-4.el6.noarch
---> Package python-rsa.noarch 0:3.1.1-5.el6 will be installed
---> Package python-simplejson.x86_64 0:2.0.9-3.1.el6 will be installed
---> Package python-sqlalchemy.noarch 0:0.5.5-3.el6_2 will be installed
---> Package redis.x86_64 0:2.4.10-1.el6 will be installed
--> Running transaction check
---> Package docker-registry.noarch 0:0.7.1-2.el6 will be installed
--> Processing Dependency: python-keystoneclient for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-glanceclient for package: docker-registry-0.7.1-2.el6.noarch
---> Package libevent.x86_64 0:1.4.13-4.el6 will be installed
---> Package libyaml.x86_64 0:0.1.6-1.el6 will be installed
---> Package python-babel.noarch 0:0.9.4-5.1.el6 will be installed
---> Package python-backports.x86_64 0:1.0-3.el6 will be installed
---> Package python-chardet.noarch 0:2.0.1-1.el6 will be installed
---> Package python-greenlet.x86_64 0:0.4.2-1.el6 will be installed
---> Package python-jinja2-26.noarch 0:2.6-3.el6 will be installed
--> Processing Dependency: python-markupsafe for package: python-jinja2-26-2.6-3.el6.noarch
---> Package python-ordereddict.noarch 0:1.1-2.el6 will be installed
---> Package python-setuptools.noarch 0:0.6.10-3.el6 will be installed
---> Package python-urllib3.noarch 0:1.5-7.el6 will be installed
--> Processing Dependency: python-six for package: python-urllib3-1.5-7.el6.noarch
--> Processing Dependency: python-backports-ssl_match_hostname for package: python-urllib3-1.5-7.el6.noarch
---> Package python-werkzeug.noarch 0:0.8.3-2.el6 will be installed
--> Running transaction check
---> Package docker-registry.noarch 0:0.7.1-2.el6 will be installed
--> Processing Dependency: python-keystoneclient for package: docker-registry-0.7.1-2.el6.noarch
--> Processing Dependency: python-glanceclient for package: docker-registry-0.7.1-2.el6.noarch
---> Package python-backports-ssl_match_hostname.noarch 0:3.4.0.2-1.el6 will be installed
---> Package python-markupsafe.x86_64 0:0.9.2-4.el6 will be installed
---> Package python-six.noarch 0:1.7.3-1.el6 will be installed
--> Finished Dependency Resolution
Error: Package: docker-registry-0.7.1-2.el6.noarch (epel)
           Requires: python-glanceclient
Error: Package: docker-registry-0.7.1-2.el6.noarch (epel)
           Requires: python-keystoneclient
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Expected results:


Additional info:

Comment 1 Dan Benson 2014-09-03 21:45:41 UTC
FWIW, this "works":

sudo yum install --enablerepo=epel-testing --enablerepo=epel docker-registry

But a newer version of the registry is being installed as a result.

Comment 2 Dan Benson 2014-09-03 22:41:18 UTC
And by "works", I mean it doesn't :) The epel-testing version of docker-registry, not surprisingly, has several issues. 

Curious if there's an easy way to get the 7.x version from epel working without too much work.

Comment 3 Dan Benson 2014-09-03 22:45:35 UTC
Ok, final comment.  I believe I got the 8.x series working..had to:

sudo yum install python-redis --enablerepo=epel
sudo pip install flask_cors

Not super ideal.

Comment 4 Lokesh Mandvekar 2014-09-04 16:25:11 UTC
ohh crap, I had a stale flask_cors install on my system, so I didn't notice I missed that one. flask_cors has been opened up for package review in Bug 1114413. For now I'll try and patch the current registry to not depend on cors until we have flask_cors into fedora.

Are there any other issues with 0.8.1 that you noticed?

Comment 5 Dan Benson 2014-09-04 16:48:14 UTC
Also, I don't think you have the python-redis dependency called out (didn't look at the spec).

So far it's working ok. 

This doesn't address the brokenness of 7.x on the epel tree.  Not sure what happened there.

Thanks for jumping on this.

Comment 6 Lokesh Mandvekar 2014-09-04 17:23:43 UTC
(In reply to Dan Benson from comment #5)
> Also, I don't think you have the python-redis dependency called out (didn't
> look at the spec).

python-redis isn't a requirement anymore. So it's been skipped.

> 
> So far it's working ok. 
> 
> This doesn't address the brokenness of 7.x on the epel tree.  Not sure what
> happened there.

Well, the 0.8.1 build will address this after it's pushed to stable. Will take 2 weeks I think, unless it has +3 karma first. Nothing can be done about the stable rpm itself.

> 
> Thanks for jumping on this.

Sure, np. Please try this: yum install https://kojipkgs.fedoraproject.org//work/tasks/4909/7524909/docker-registry-0.8.1-2.el6.noarch.rpm

Will push this to epel-testing unless any other issues. Let me know.

Comment 7 Dan Benson 2014-09-04 17:40:50 UTC
(In reply to Lokesh Mandvekar from comment #6)

> python-redis isn't a requirement anymore. So it's been skipped.

From within the code or the package itself?

[ec2-user@ip-10-234-2-88 docker_registry]$ find . -type f -exec grep -H "import redis" {} \;
./core/lru.py:import redis

> Sure, np. Please try this: yum install
> https://kojipkgs.fedoraproject.org//work/tasks/4909/7524909/docker-registry-
> 0.8.1-2.el6.noarch.rpm
> 
> Will push this to epel-testing unless any other issues. Let me know.

Cool -- will try this later today.

Comment 8 Lokesh Mandvekar 2014-09-04 18:27:34 UTC
(In reply to Dan Benson from comment #7)
> From within the code or the package itself?
> 
> [ec2-user@ip-10-234-2-88 docker_registry]$ find . -type f -exec grep -H
> "import redis" {} \;
> ./core/lru.py:import redis
> 

1. Redis is only needed for caching. Also, people might want to have their redis setup on some other machine (see Bug 1120214). So, I think caching is best left to the end user. Correct me if I'm wrong. Also, the RHEL7 version disables caching too fwiw.

2. If at all it's decided to enable caching by default, the redis requirement should be for the python-docker-registry-core package, since that's where the above grepped result belongs. So, that shouldn't make any difference to the docker-registry package.

Comment 9 Dan Benson 2014-09-04 23:00:15 UTC
Sorry still haven't had a chance to test.  I'm actually not using the cache, yet that code path was executed anyway.  I could be missing something here.

Comment 10 Lokesh Mandvekar 2014-09-05 00:05:59 UTC
hmm, not sure, could you post some logs please?

Comment 11 Lokesh Mandvekar 2014-09-05 16:12:14 UTC
Hi Dan,

I just tried this on a centos6 docker image, and I'm seeing this issue too but not on fedora rawhide. I guess I'll patch this out too.

Comment 12 Dan Benson 2014-09-05 16:24:05 UTC
Hey thanks!  Sorry about not having the cycles.  On rawhide, is the redis python module installed prior to docker-registry installation?

Comment 13 Lokesh Mandvekar 2014-09-05 18:56:15 UTC
Verified that python-redis absence is not an issue on fedora rawhide. But nvm, I'm updating python-docker-registry-core to require python-redis. That will take care of the redis part. And also updating docker-registry with flask_cors patched out.

Comment 14 Lokesh Mandvekar 2014-09-08 22:49:36 UTC
Hi Dan, could you give this a go please: https://kojipkgs.fedoraproject.org//work/tasks/9114/7549114/docker-registry-0.8.1-2.el6.noarch.rpm .


The same NVR works fine on rawhide for me. flask_cors verified to not be installed. Also, python-docker-registry-core has been updated to include redis.

Comment 15 Fedora Update System 2014-09-09 01:27:03 UTC
docker-registry-0.8.1-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/docker-registry-0.8.1-2.fc20

Comment 16 Fedora Update System 2014-09-09 01:39:50 UTC
docker-registry-0.8.1-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/docker-registry-0.8.1-2.fc19

Comment 17 Fedora Update System 2014-09-10 13:26:56 UTC
Package docker-registry-0.8.1-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing docker-registry-0.8.1-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-10563/docker-registry-0.8.1-2.fc20
then log in and leave karma (feedback).

Comment 18 Fedora Update System 2014-09-11 01:21:20 UTC
docker-registry-0.8.1-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/docker-registry-0.8.1-2.el6

Comment 19 Fedora Update System 2014-09-22 07:27:53 UTC
docker-registry-0.8.1-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/docker-registry-0.8.1-2.fc21

Comment 20 Fedora Update System 2014-09-25 10:33:34 UTC
docker-registry-0.8.1-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2014-09-25 10:38:05 UTC
docker-registry-0.8.1-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2014-10-01 17:17:51 UTC
docker-registry-0.8.1-2.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2014-10-03 03:56:53 UTC
docker-registry-0.8.1-2.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.