[SRU] swift-proxy needs python-pecan >=0.4.5, but 0.3.0 is present when used with ceilometer

Bug #1317147 reported by Zoltan Martha
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Fix Released
Undecided
Unassigned
ceilometer (Ubuntu)
Fix Released
High
James Page
swift (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

[Impact]
ceilometer filter usage in swift-proxy is broken; users can't get telemetry on object storage usage.

[Test Case]
sudo apt-get install swift-proxy ceilometer-common
configure ceilometer egg into pipeline following http://docs.openstack.org/trunk/install-guide/install/apt/content/ceilometer-install-swift.html
sudo start swift-proxy (fails with error detailed below)

[Regression Potential]
Minimal, just patching requirement to support the version of pecan we have in 14.04.

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

Affected package version:
swift-proxy:
  Installed: 1.13.1-0ubuntu1
  Candidate: 1.13.1-0ubuntu1

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: (pecan 0.3.0 (/usr/lib/python2.7/dist-packages), Requirement.parse('pecan>=0.4.5'))

Related branches

Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in swift (Ubuntu):
status: New → Confirmed
Revision history for this message
David Moreau Simard (dmsimard) wrote :
Revision history for this message
David Moreau Simard (dmsimard) wrote :

I'm also affected, using the cloud-archive repository for Icehouse on Ubuntu precise.

Revision history for this message
David Moreau Simard (dmsimard) wrote :

Once the pecan dependency is manually fixed, it also complains about another incorrect version:

pkg_resources.VersionConflict: (happybase 0.7 (/usr/lib/python2.7/dist-packages), Requirement.parse('happybase>=0.5,!=0.7'))

This would need to be fixed as well.

Revision history for this message
David Moreau Simard (dmsimard) wrote :

Oh, sorry for the spam. The happybase bug is reported in another bug: https://bugs.launchpad.net/ubuntu/+source/swift/+bug/1317381

James Page (james-page)
summary: - Swift-proxy needs python-pecan >=0.4.5, but 0.3.0 is present
+ Swift-proxy needs python-pecan >=0.4.5, but 0.3.0 is present when used
+ with ceilometer
James Page (james-page)
Changed in swift (Ubuntu):
status: Confirmed → Invalid
Changed in ceilometer (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → James Page (james-page)
summary: - Swift-proxy needs python-pecan >=0.4.5, but 0.3.0 is present when used
- with ceilometer
+ [SRU] swift-proxy needs python-pecan >=0.4.5, but 0.3.0 is present when
+ used with ceilometer
James Page (james-page)
description: updated
Revision history for this message
James Page (james-page) wrote :

If folks want to try out the proposed fix while I'm testing:

   sudo add-apt-repository ppa:james-page/ceilometer
   sudo apt-get update && sudo apt-get upgrade

description: updated
Revision history for this message
James Page (james-page) wrote :

Note #6 is just for trusty right now.

Revision history for this message
Scott Kitterman (kitterman) wrote : Please test proposed package

Hello Zoltan, or anyone else affected,

Accepted into trusty-proposed. The package will build now and be available in a few hours 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!

tags: added: verification-needed
Revision history for this message
Zoltan Martha (marthazoli) wrote :

Hello Scott,

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

Best regards,
Zoltan

Revision history for this message
Zoltan Martha (marthazoli) wrote :
Download full text (3.6 KiB)

Results of the verification test:
1. Reinstalled 14.04 with disabled trusty-proposed repository.
2. Performed openstack installation as before.
3. Reproduced the bug.
4. Activated the proposed repository and performed aptitude update.
5. Upgraded ceilometer packages using this command: "aptitude install ceilometer-agent-central ceilometer-api ceilometer-collector ceilometer-common python-ceilometer" (avoiding full upgrade, to verify the python-happybase bug later on [https://bugs.launchpad.net/ubuntu/+source/swift/+bug/1317381])
6. Tried to start swift-proxy, the output of the logfile is:
No proxy-server running
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", lin...

Read more...

tags: added: verification-done
removed: verification-needed
Revision history for this message
Sina Sadeghi (sina-sa) wrote :

Do we need to raise a new bug for happybase?

Revision history for this message
Zoltan Martha (marthazoli) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ceilometer - 2014.1-0ubuntu1.1

---------------
ceilometer (2014.1-0ubuntu1.1) trusty; urgency=medium

  * d/p/fix-requirements.patch: Drop required version of pecan to 0.3.0
    inline with the version that is provided in 14.04 (LP: #1317147).
 -- James Page <email address hidden> Fri, 16 May 2014 12:11:00 -0400

Changed in ceilometer (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote : Update Released

The verification of the Stable Release Update for ceilometer 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)
Changed in cloud-archive:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.