Bug 1144180

Summary: docker-registry doesn't start, version of python-redis is too old.
Product: [Fedora] Fedora EPEL Reporter: Adam Miller <admiller>
Component: docker-registryAssignee: Lokesh Mandvekar <lsm5>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el6CC: mgoldman
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-17 17:25:12 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:
Bug Depends On: 1144179    
Bug Blocks:    

Description Adam Miller 2014-09-18 22:14:06 UTC
Description of problem:
Current version of docker-registry in EPEL6 does not start, it will run but fails immediately.

Version-Release number of selected component (if applicable):
docker-registry-0.7.1-2.el6

Also tested with docker-registry-0.8.1-2.el6 from epel-testing and had the same result.

How reproducible:
Always


Steps to Reproduce:
1. yum install docker-registry
2. service docker-registry start
3. service docker-registry status

Actual results:
docker-registry has failed

Expected results:
docker-registry to be running.

Additional info:
I traced this back to the version of python-redis being too old in EPEL6 and have filed a RFE to have it updated. 

https://bugzilla.redhat.com/show_bug.cgi?id=1144179

I've also applied to be a co-maintainer for python-redis in the EPEL branches so that I can help with the work in the future.

Below is the python stacktrace:

2014-09-18 16:10:36 [29162] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.6/site-packages/gunicorn/workers/ggevent.py", line 165, in init_process
    super(GeventWorker, self).init_process()
  File "/usr/lib/python2.6/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.6/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.6/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
    return self.load_wsgiapp()
  File "/usr/lib/python2.6/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.6/site-packages/gunicorn/util.py", line 354, in import_app
    __import__(module)
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/wsgi.py", line 7, in <module>
    from .run import app
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/run.py", line 16, in <module>
    from .tags import *  # noqa
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/tags.py", line 17, in <module>
    from .lib import mirroring
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/lib/mirroring.py", line 10, in <module>
    from . import cache
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/lib/cache.py", line 52, in <module>
    init()
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/lib/cache.py", line 49, in init
    path=cfg.get('storage_path', '/')
  File "/usr/lib/python2.6/site-packages/docker-registry/docker_registry/core/lru.py", line 51, in init
    redis_conn = redis.StrictRedis(host=host,
AttributeError: 'module' object has no attribute 'StrictRedis'

Comment 1 Lokesh Mandvekar 2014-09-18 23:01:33 UTC
ohh man redis is such a PITA. fwiw, the non-epel branches didn't seem to hit the redis part and worked fine without it.

I'll update this when we have Bug 1144179 updated.

Thanks Adam.

Comment 2 Lokesh Mandvekar 2016-02-15 20:32:45 UTC
docker-registry has been obsoleted by docker-distribution upstream, and we're now in the process of obsoleting it in fedora. I don't have an el6 build for docker-distribution yet. Adam would you like to look at an el6 branch for docker-distribution?

Comment 3 Adam Miller 2016-02-15 20:35:28 UTC
Yes, that's probably the best course of action. I can maintain there if needed.