Bug 971026
Summary: | Dependancy issue prevents swift proxy from starting | |||
---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Dan Radez <dradez> | |
Component: | python-keystoneclient | Assignee: | Pete Zaitcev <zaitcev> | |
Status: | CLOSED ERRATA | QA Contact: | Pavel Sedlák <psedlak> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 3.0 | CC: | apevec, ayoung, jruzicka, ykaul, zaitcev | |
Target Milestone: | rc | |||
Target Release: | 3.0 | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | python-keystoneclient-0.2.3-4.el6ost | Doc Type: | Bug Fix | |
Doc Text: |
Cause: Parallel installable python-webob1.2 isn't found by keystoneclient.
Consequence: Importing python-webob from keystoneclient fails with stacktrace. This also applies to applications using keystoneclient such as Swift proxy.
Fix: Properly look for python-webob1.2 and require python-webob1.2 instead of python-webob.
Result: The keystoneclient is able to import python-webob1.2 independently from other installed versions.
|
Story Points: | --- | |
Clone Of: | ||||
: | 975579 (view as bug list) | Environment: | ||
Last Closed: | 2013-06-27 16:50:54 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: | ||||
Bug Blocks: | 971089 |
Description
Dan Radez
2013-06-05 13:37:18 UTC
solution we came to on the mailing list: On 06/04/2013 05:22 PM, Alan Pevec wrote: >>> if you have python-webob1.2 installed, please try adding >>> replace_dist("WebOb >= 1.2") >>> one line before replace_dist("PasteDeploy >= 1.5.0") >> >> The above works, because the dependencies in the spec are correct >> (indirectly -- since it's python-keystoneclient that wants WebOb, >> it requires python-webob, so python-webob1.2 is installed at Dan's >> box in the end). >> >> Do you prefer it in openstack-swift or python-keystoneclient? >> Both work, the first requires less code, the second is "more correct". > > Yeah, let's do the right thing - Dan, please file rhbz against python-keystoneclient, targeting 3.0 RC. > > Cheers, > Alan Reproduced with python-keystoneclient-0.2.3-2.el6ost. > /etc/init.d/openstack-swift-proxy restart > Stopping openstack-swift-proxy: [ OK ] > Starting openstack-swift-proxy: [ OK ] > /etc/init.d/openstack-swift-proxy status > openstack-swift-proxy dead but pid file exists > # tail /var/log/swift-startup.log > section) > File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit > value = import_string(found_expr) > File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 22, in import_string > return pkg_resources.EntryPoint.parse("x=" + s).load(False) > File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1948, in load > entry = __import__(self.module_name, globals(),globals(), ['__name__']) > File "/usr/lib/python2.6/site-packages/keystoneclient/middleware/auth_token.py", line 155, in <module> > import webob.exc > ImportError: No module named webob.exc Verified with python-keystoneclient-0.2.3-4.el6ost. > # > /var/log/swift-startup.log > # /etc/init.d/openstack-swift-proxy restart > Stopping openstack-swift-proxy: [ OK ] > Starting openstack-swift-proxy: [ OK ] > # /etc/init.d/openstack-swift-proxy status > openstack-swift-proxy (pid 18834) is running... > # tail /var/log/swift-startup.log > # ls -l /var/log/swift-startup.log > -rw-r--r--. 1 root root 0 Jun 11 14:58 /var/log/swift-startup.log With only new webob installed: > Installed Packages > python-webob1.0-1.0.8-3.el6 > python-webob1.2-1.2.3-2.1.el6ost > Available Packages > python-webob-0.9.6.1-3.el6 so original simple import would have to fail: > # python -c 'import webob.exc' > Traceback (most recent call last): > File "<string>", line 1, in <module> > ImportError: No module named webob.exc Another solution proposed upstream by Pete https://review.openstack.org/32825 "Drop webob from auth_token.py" The upstream work needs cooking in regards to HEAD required not to send a body, so I took it to WIP status. We should use the fix as outlined in this bug. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-0992.html |