[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 on 2014-05-07
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Undecided
Unassigned
ceilometer (Ubuntu)
High
James Page
swift (Ubuntu)
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

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 :

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

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.

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) on 2014-05-16
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) on 2014-05-16
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) on 2014-05-16
description: updated
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
James Page (james-page) wrote :

Note #6 is just for trusty right now.

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
Zoltan Martha (marthazoli) wrote :

Hello Scott,

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

Best regards,
Zoltan

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
Sina Sadeghi (sina-sa) wrote :

Do we need to raise a new bug for happybase?

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

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) 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