[SRU] swift-proxy needs python-happybase >0.5 !=0.7, but 0.7 is present in the repository when used with ceilometer

Bug #1317381 reported by Zoltan Martha on 2014-05-08
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Undecided
Unassigned
ceilometer (Ubuntu)
Undecided
Unassigned
Trusty
Undecided
James Page
Utopic
Undecided
Unassigned
python-happybase (Ubuntu)
Undecided
Unassigned
Trusty
High
James Page
Utopic
Undecided
Unassigned
swift (Ubuntu)
Undecided
Unassigned
Trusty
Undecided
Unassigned
Utopic
Undecided
Unassigned

Bug Description

[Impact]
The ceilometer extension for swift is currently broken and causes swift-proxy to fail on startup if enabled.

[Test Case]
sudo apt-get install swift-proxy python-ceilometer
Enable ceilometer egg in proxy filter chain.
sudo service swift-proxy start
(fails with stacktrace below).

[Regression Potential]
Proposal is to update happybase to 0.8 (requirement bump came late in cycle and was missed). Ceilometer is the only reverse-depends.

[Original Bug Report]
Affected release:
Description: Ubuntu 14.04 LTS
Release: 14.04

Affected packages:
python-swift:
  Installed: 1.13.1-0ubuntu1
  Candidate: 1.13.1-0ubuntu1
python-happybase:
  Installed: 0.7-1build1
  Candidate: 0.7-1build1

The swift-proxy service fails to start.

Contents of /var/log/upstart/swift-proxy.log:
Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 23, in <module>
    sys.exit(run_wsgi(conf_file, 'proxy-server', default_port=8080, **options))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 389, in run_wsgi
    loadapp(conf_path, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 316, in loadapp
    ctx = loadcontext(loadwsgi.APP, conf_file, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 307, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 59, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
    global_additions=global_additions)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
    for name in pipeline[:-1]]
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 59, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 59, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 640, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 725, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 632, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (happybase 0.7 (/usr/lib/python2.7/dist-packages), Requirement.parse('happybase>=0.5,!=0.7'))

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in swift (Ubuntu):
status: New → Confirmed
David Moreau Simard (dmsimard) wrote :

This is linked to another dependency problem in bug https://bugs.launchpad.net/ubuntu/+source/swift/+bug/1317147.

James Page (james-page) wrote :

The problem is actually in ceilometer - raising bug task

summary: Swift-proxy needs python-happybase >0.5 !=0.7, but 0.7 is present in the
- repository
+ repository when used with ceilometer

Hmm - this is odd as the version of happybase in trusty and the Icehouse UCA is 0.7

James Page (james-page) wrote :

sorry - read the version check wrong...

James Page (james-page) on 2014-05-16
Changed in swift (Ubuntu):
status: Confirmed → Invalid
summary: - Swift-proxy needs python-happybase >0.5 !=0.7, but 0.7 is present in the
- repository when used with ceilometer
+ [SRU] swift-proxy needs python-happybase >0.5 !=0.7, but 0.7 is present
+ in the repository when used with ceilometer
James Page (james-page) wrote :

As the version in 14.04 of happybase appears to be quite broken, I'll see if we can push in 0.8 - ceilometer is the only in-distro consumer of this package.

Changed in swift (Ubuntu Trusty):
status: New → Invalid
Changed in ceilometer (Ubuntu Utopic):
status: New → Incomplete
status: Incomplete → Fix Released
Changed in ceilometer (Ubuntu Trusty):
assignee: nobody → James Page (james-page)
Changed in python-happybase (Ubuntu Utopic):
status: New → Fix Committed
James Page (james-page) on 2014-05-16
description: updated
description: updated
James Page (james-page) on 2014-05-16
Changed in python-happybase (Ubuntu Utopic):
status: Fix Committed → Fix Released
James Page (james-page) on 2014-05-16
Changed in ceilometer (Ubuntu Trusty):
status: New → Invalid
Changed in python-happybase (Ubuntu Trusty):
assignee: nobody → James Page (james-page)
importance: Undecided → High
status: New → In Progress

Hello Zoltan, or anyone else affected,

Accepted python-happybase into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/python-happybase/0.8-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in python-happybase (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
Zoltan Martha (marthazoli) wrote :

Hello Scott,

I'm proceeding with the verification phase according to the wiki page you provided.

Best regards,
Zoltan

David Moreau Simard (dmsimard) wrote :

Scott / James:

What is the general process for the cloud archive ? Are the fixes backported/cherry-picked from the current stable branch (trusty) once they make it out of proposed ?

Zoltan Martha (marthazoli) wrote :

Results of the verification test:
1. Reinstalled 14.04 with disabled trusty-proposed repository.
2. Performed openstack installation as before.
3. Verified and corrected the pecan-bug with new packages, described here: https://bugs.launchpad.net/ubuntu/+source/ceilometer/+bug/1317147
4. Reproduced the bug.
5. Activated the proposed repository and performed aptitude update.
6. Installed happybase 0.8 from proposed.
7. Started swift-proxy service, contents of the logfile:
No proxy-server running
Starting proxy-server...(/etc/swift/proxy-server.conf)

The new happybase package seems to resolve the original issue.

tags: added: verification-done
removed: verification-needed
James Page (james-page) wrote :

@David

I'll push over the proposed packages to the Cloud Archive today.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-happybase - 0.8-0ubuntu1

---------------
python-happybase (0.8-0ubuntu1) trusty; urgency=medium

  * Update to 0.8 release to fix compatibility with Ceilometer (LP: #1317381).
 -- James Page <email address hidden> Fri, 16 May 2014 13:00:19 -0400

Changed in python-happybase (Ubuntu Trusty):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for python-happybase has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

James Page (james-page) on 2015-03-24
Changed in cloud-archive:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers